[lkml]   [2013]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: user defined OOM policies
On Wed, 20 Nov 2013, Luigi Semenzato wrote:

> Chrome OS uses a custom low-memory notification to minimize OOM kills.
> When the notifier triggers, the Chrome browser tries to free memory,
> including by shutting down processes, before the full OOM occurs. But
> OOM kills cannot always be avoided, depending on the speed of
> allocation and how much CPU the freeing tasks are able to use
> (certainly they could be given higher priority, but it get complex).
> We may end up using memcg so we can use the cgroup
> memory.pressure_level file instead of our own notifier, but we have no
> need for finer control over OOM kills beyond the very useful kill
> priority. One process at a time is good enough for us.

Even with your own custom low-memory notifier or memory.pressure_level,
it's still possible that all memory is depleted and you run into an oom
kill before your userspace had a chance to wakeup and prevent it. I think
what you'll want is either your custom notifier of memory.pressure_level
to do pre-oom freeing but fallback to a userspace oom handler that
prevents kernel oom kills until it ensures userspace did everything it
could to free unneeded memory, do any necessary logging, etc, and do so
over a grace period of memory.oom_delay_millisecs before the kernel
eventually steps in and kills.

 \ /
  Last update: 2013-11-21 05:01    [W:0.112 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site