[uClibc] Re: Swap strangeness: total VIRT ~23mb for all processes, swap 91156k used - impossible?

Denis Vlasenko vda at port.imtp.ilyichevsk.odessa.ua
Thu Oct 28 11:44:53 UTC 2004


On Thursday 28 October 2004 14:34, Jan Engelhardt wrote:
> >I think VIRT is a total virtual space taken by process, part of
> >which may be swapped. VIRT can't be reduced by swapping out -
> >correct me if I'm wrong.
> 
> I always went by:
>  VIRT = RES + SWAPPED OUT
> 
> $ ps aufwwx | grep mingetty
> #user pid %cpu %mem   vsz  rsz
> root 2490  0.0  0.2  1548  552 tty1     Ss+  Oct25   0:00 /sbin/mingetty tty1
> $ swapoff -a ## for fun
> $ ps aufwwx | grep mingetty
> root 2490  0.0  0.2  1548  632 tty1     Ss+  Oct25   0:00 /sbin/mingetty tty1
> 
> So to say, VIRT = RES + SHR + SWAPPED OUT, probably.
> 
> >But I believe even if I'm wrong on that, I simply do not have
> >90 mbytes to be swapped out here!
> 
> Have <= 128 MB RAM? Have a heavy busy system (even with >= 128)?

128mb. System was idle, fresh after boot.

Seems I wasn't clear enough. I will try harder now:

Even if I add up size of every process, *counting libc shared pages
once per process* (which will overestimate memory usage), I arrive at
23mb *total memory required by all processes*. How come kernel
found 90mb to swap out? There is NOTHING to swap out except those
23mb!

(Of course when oom_trigger was running, kernel first swapped out
those 23mb and then started swapping out momery taken by oom_trigger
itself, but when oom_trigger was killed, its RAM *and* swapspace
should be deallocated. Thus I expected to see ~20 mb swap usage).
--
vda




More information about the uClibc mailing list