Thanks Erik. Yes, the shared memory in this case is double counted, which means more than 75M is unacccounted for. So if I understand correctly, the resident set size of all processes would be: active < RSS < active + inactive? And all the kernel memory is included in the wired part (there may be some user space memory there if it is mlocked), none is in active or inactive. Erik Trulsson <[EMAIL PROTECTED]> wrote: On Tue, Apr 25, 2006 at 02:35:54PM -0700, kapil jain wrote: > Hi, > > I have a question, top on freebsd displays active, inactive and wired memory. > Since kernel memory has to be non-pageable isn't it that user process > resident memory should be active + inactive?
No. 'Inactive' can (and usually does) include memory that was used by processes that are no longer running. > However I see some discrepancy. For eg. active is 34M, inactive 116M. > top -s 100 gives me resident sizes of all processes, if I sum them up it > comes to about 75M. So where is the rest of 116+34-75 = 75M? Keep in mind that the resident size of a process (as displayed by top(1) or ps(1)) includes any shared libraries it is using. Memory for shared libraries can however be shared between several different processes. If you have several instances of the same program running at the same time their codepages are usually shared. This means that the total memory used by a set of processes is usually *less* then the sum of their size as displayed by ps(1) or top(1). -- Erik Trulsson [EMAIL PROTECTED] _______________________________________________ email@example.com mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"