Virtual Memory gone mad
Bill Davidsen
davidsen at tmr.com
Wed Mar 25 13:56:52 UTC 2009
Sharpe, Sam J wrote:
> 2009/3/10 Jonathan Ryshpan <jonrysh at pacbell.net>:
>> Investigating why my computer had suddenly become very s.l.o.w, I
>> noticed that virtual memory usage had become very large. Following is
>> an extract from a "$ ps axuw" for the system sorted according to VM
>> usage, the top 20 processes in VM usage. Does anyone know why evolution
>> + evolution evolution-data-server use not quite 2 GBytes? Or why the
>> ordinary applets use together 1.4 GBytes? Or why sealert uses about 0.5
>> GBytes? Or anything else on this list?
>>
>> PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
>> 2656 1.2 5.2 1668576 53708 ? Sl 12:20 1:26 evolution
>> 2662 0.0 0.2 444628 2680 ? S 12:20 0:00 /usr/bin/python -E /usr/bin/sealert -s
>
> You can't add up the VSZ sizes of processes and arrive at a simple
> sum, because you don't have enough information.
>
That's true, but I'm not sure it's relevant to the question of why the rocesses
are so huge. I can't think of any justification for a simple mail program being
1.6GB, no matter how loaded with features it might be. So the answer is probably
that it either (a) mmapped about half the Internet, or (b) leaks memory badly.
Those are not mutually exclusive.
> Program 1 links to library A and uses shared memory B
> => VSZ1 = SizeOf(1) + SizeOf(A) + SizeOf(B)
> Program 2 also links to library A and uses shared memory B
> => VSZ2 = SizeOf(2) + SizeOf(A) + SizeOf(B)
>
> So you'd think that the total memory in use would be VSZ1+VSZ2,
> but each library is only in memory once so in actual fact it's only
> VSZ1+SizeOf(2).
>
I'm unsure that he's adding anything, one line says it all, and your observation
really sums up the problem:
> But yes, Evolution is a memory hog ;o)
>
--
Bill Davidsen <davidsen at tmr.com>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot
More information about the fedora-list
mailing list