Re: extreme system load [kswapd]

From: Rik van Riel
Date: Wed Mar 21 2012 - 10:59:52 EST


On 03/20/2012 05:08 AM, Karol Šebesta wrote:
Hello @All,

We have a problem on our production machine with high CPU utilization
caused by kswapd3 daemon. Server is 128GB of physical memory and 81GB
of SWAP.

# free -m
total used free shared buffers cached
Mem: 128989 75577 53412 0 416 57131
-/+ buffers/cache: 18029 110960
Swap: 81919 31310 50609
#

Looks like a combination of NUMA and the workload thrown
at the system. You did not post any vmstat output, or
info on the size of your Oracle SGA, so I will take some
wild guesses here :)

Not only are you 31GB in swap, you also have 53GB of
memory free. Additionally, only kswapd3 is very busy,
while kswapd on the other NUMA nodes do not even show
up in top.

I would guess that the value of /proc/sys/vm/zone_reclaim_mode
is 1, causing the system to reclaim memory from the NUMA node
where things are running, instead of overflowing memory
allocations into other NUMA nodes.

Setting zone_reclaim_mode to 0 could resolve some of your
issues.

Another, more fundamental, issue is that on older kernels
we mix page cache and process pages on the same LRU lists.
This causes the pageout code to scan over many pages that
we do not want to evict, increasing CPU use by kswapd and
other processes invoking the pageout code.

That issue got fixed in newer kernels, including the
kernel in RHEL 6.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/