Re: Kernel 2.6.29 runs out of memory and hangs.

From: Zeno Davatz
Date: Mon Apr 27 2009 - 04:54:14 EST


Dear David

On Mon, Apr 27, 2009 at 10:32 AM, David Rientjes <rientjes@xxxxxxxxxx> wrote:

> All allowable zones have minimum watermarks that define how much memory
> an oom killed task may use so that it can quickly exit.  This is the
> purpose of the TIF_MEMDIE flag in the kernel.

Thanks for the info.

> The policy is better defined in userspace to determine what memory-hogging
> task should be killed in low memory situations.  Users can already tune
> the /proc/pid/oom_adj score of any task so that the oom killer can prefer
> it over other tasks (see Documentation/filesystems/proc.txt).  For low
> memory situations, however, userspace can act in any number of ways to
> prevent reaching an oom condition.

This may be off-Topic, but: Can I assign a PID to a process at
startup? Say Apache always should have PID 2755, or Ruby should always
have PID 1003. Otherwise how would I set the score for a PID at
Kernel-Boop-Up?

> Once the oom condition has been reached, however, the oom killer must act
> to free some memory, otherwise the kernel usually livelocks.

Interesting. In our case we did not have a score for Apache in

/proc/pid/oom_adj

that must have caused the livelock because oom_kill could not kill the
biggest task (Apache) in full.

Best
Zeno
--
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/