Re: Kernel 2.6.29 runs out of memory and hangs.

From: David Rientjes
Date: Fri Apr 24 2009 - 15:27:21 EST


On Fri, 24 Apr 2009, Zeno Davatz wrote:

> > These types of livelocks are possible with the oom killer when a task
> > fails to exit, one possible way to fix that is to introduce an oom killer
> > timeout such that if a task fails to exit for a pre-defined period of
> > time, the oom killer will choose to kill another task in the hopes of
> > future memory freeing.  The problem with that approach, however, is that
> > the hung task can consume an enormous amount of memory that will never be
> > freed.
>
> Thanks for the hint! Is there another solution as well? Any
> Kernel-Upgrades in the Pipeline? What does Linus think about this?
>

I had a patchset that added a timeout for oom killed tasks now that the
entire oom killer is serialized, but it only really works well if your
memory is so partitioned (such as with cpusets or the memory controller)
that it actually makes sense to continue. With global system-wide ooms
such as yours, it would only result in a long chain of kills with no
positive outcome.