[CentOS] Why swap if there's still physical memory available

Mon Nov 16 22:30:27 UTC 2009
yanagik317 <yanagik317 at netscape.net>

Dear CentOS people,

This is just a general question related to memory management, and there 
may have been a thread or two about it before, but I'd like to post anyway.

A user was looking at top, whereby he found out that his two processes 
were 10.2g and 4836m in VIRT.  They were 6.4g and 4.6g in RES 
respectively.  3445964k was free still.  He was wondering why the system 
didn't use all of the physical memory available (16300960k total) before 
swapping out parts of the processes.

Over time, the 10.2g process had about 8g of it in SWAP.  The 4836m 
process only had about 100m in SWAP.  Much of the physical space is now 
used.

I guess the answer may not be that simple and I most likely haven't 
described everything that could have influenced the kernel's 
decision-making, but how does Linux decide how much of a process to be 
swapped out?  I guess I could read the documentations on the Linux 
kernel, but does anyone have more general answers ready to be dispensed?

I haven't done anything with sysctl, if that comes into play at all.

Thank you,

--Koji