Re: Kernel 2.6.29 runs out of memory and hangs.

From: David Rientjes
Date: Mon Apr 27 2009 - 04:33:19 EST


On Mon, 27 Apr 2009, Zeno Davatz wrote:

> Can you recommend a link where I can read up on this issue / problem?
> It seems to me when the system is already out of memory it does not
> have enough "memory" for freeing itself for some fresh memory,
> specially if there is one application, that uses about 99% of the
> memory. I would suggest, that in such a case it should just kill the
> task that uses the most memory.
>

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.

> This sounds very interesting. Would this be working together with
> udev? How would it got about to kill a task like "Apache" or "Ruby" or
> any other application that is running on the linux machine.
>

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.

Once the oom condition has been reached, however, the oom killer must act
to free some memory, otherwise the kernel usually livelocks.
--
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/