OOM kernel behaviour

From: Jonathan Miles
Date: Mon Nov 30 2009 - 13:19:51 EST


Hi all,

I'm not on the list, so please cc me.

I'm trying to figure out why the OOM killer is being called on my
workstation even though the last time there was nearly 1.2GB of memory
used by the page cache, which IMHO could have been used instead. I
suffer from poor system performance due to it swapping (2GB RAM),
especially when returning after it being idle overnight, so I
experimented by switching off swap completely. Now it runs very quickly
except that an OOM state is reached unnecessarily.

With reference to the following description of kernel memory usage, is
there a way to tune the kernel such that it prefers to reclaim memory
from buffers/caches (e.g. page cache) rather than by swap or the OOM killer?

http://linux-mm.org/Low_On_Memory

Above link says "the kernel starts to reclaim memory from the different
uses described above [buffers, cache]. The kernel can get memory back
from any of the these ... there are lots of pages of memory which are
user application data, but are rarely used. All of these are targets for
being swapped in favor of other uses for the RAM".

To stop it using swap, I guess /proc/sys/vm/swappiness is my friend, but
I took an even harder line by disabling swap completely. Why then is the
OOM killer being called?

I'm running kernel 2.6.31.

Regards,

Jon
--
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/