So....if the RSS value of the process reaches a certain size and remains
more or less at the same size (which is typically the case once a workload
quiesces), are you saying to know specific processes should be releasing
memory at some point? Why do you think the memory should be getting
released - specific application code?

Are these heap segments (I assume yes)?

Chasing memory allocations and frees is doable, but not trivial.
You can instrument malloc/free calls with the PID provider, or link
to libumem.so, and use it's feature set for debugging memory allocations
with mdb.

http://access1.sun.com/techarticles/libumem.html

That aside, there are several more detailed responsed on using
dtrace for chasing memory allocations and frees in the archives
on the opensolaris.org page (discussions -> dtrace -> search).

I would encourage you to make sure you have a good sense for what
your chasing before you go down this path. It sounds almost like a
memory leak, but you do not describe it as such.

All I'm saying is have a good sense of the magnitude of the problem.
If you're looking for segments in the 100's of MBytes or GByte range,
you should be able to find those. But if you're chasing a few megabytes
here and there....you really need to be using a debugger and working
with the folks that own the code.

Good luck,
/jim

> Thanks Jim
> Prstat is useful for looking at what processes are using the memory. 
> I am looking for the processes that use memory but do not release it 
> Thanks
> Riadh 
>   
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to