Re: additional oom-killer tuneable worth submitting?

Chris Friesen
2006-12-07T21:25:20Z

Jesper Juhl wrote:

> How does "oomthresh" and "oomadj" affect each other?

If memory consumption is less than "oomthresh", that process is simply
bypassed. (Equivalent to oomkilladj==OOM_DISABLE.) Otherwise, continue
processing as normal.

> Default "oomthresh" value for a new process is 0 (zero) I assume -
> right? If not, then I'd suggest that it should be.

Correct.

> What happens when a process fork()s? Does the child enherit the
> parents "oomthresh" value?

Currently it does not. This is to allow for different memory access
patterns by parent/child. And exec() wipes it as well.

> Would it make sense to make "oomthresh" apply to process groups
> instead of processes?

Hmm...it might make sense given that the point of the group is to manage
tasks together...but it would make accounting more tricky. Currently
it's just a very simple comparison of p->mm->total_vm against the
threshold in badness().

> What happens in the case where the OOM killer really, really needs to
> kill one or more processes since there is not a single drop of memory
> available, but all processes are below their configured thresholds?

Then the system wasn't properly engineered. <grin>

In this case you reboot.

Chris