Re: [3.2-rc3] OOM killer doesn't kill the obvious memory hog

From: David Rientjes
Date: Thu Dec 01 2011 - 17:35:35 EST


On Thu, 1 Dec 2011, Dave Chinner wrote:

> > /*
> > * /proc/<pid>/oom_score_adj set to OOM_SCORE_ADJ_MIN disables oom killing for
> > * pid.
> > */
> > #define OOM_SCORE_ADJ_MIN (-1000)
> >
> >
> > IIUC, this task cannot be killed by oom-killer because of oom_score_adj settings.
>
> It's not me or the test suite that setting this, so it's something
> the kernel must be doing automagically.
>

The kernel does not set oom_score_adj to ever disable oom killing for a
thread. The only time the kernel touches oom_score_adj is when setting it
to "1000" in ksm and swap to actually prefer a memory allocator for oom
killing.

It's also possible to change this value via the deprecated
/proc/pid/oom_adj interface until it is removed next year. Check your
dmesg for warnings about using the deprecated oom_adj interface or change
the printk_once() in oom_adjust_write() to a normal printk() to catch it.
--
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/