Linux – How to tell what process is causing kswapd to be in use

centos5linuxswapvirtual-memory

I see kswapd using 100% CPU… how can I tell on which process's behalf kswapd is being used so much?

Best Answer

kswapd is managing swap space in response to memory demands greater than physically available for all processes.

It is process agnostic, it is only interested in what pages are access and when (it is more complex than this of course but to keep things simple we may as well view it this way).

So the real question is "what processes have the greatest burden on memory that are causing kswapd to need to page all the time".

That is most easily answered using 'top' and switching to memory usage sort mode.