A few questions below.
On 07/12/06, Chris Friesen <[email protected]> wrote:
The kernel currently has a way to adjust the oom-killer score via
/proc/<pid>/oomadj.
However, to adjust this effectively requires knowledge of the scores of
all the other processes on the system.
I'd like to float an idea (which we've implemented and been using for
some time) where the semantics are slightly different:
We add a new "oom_thresh" member to the task struct.
We introduce a new proc entry "/proc/<pid>/oomthresh" to control it.
How does "oomthresh" and "oomadj" affect each other?
The "oom-thresh" value maps to the max expected memory consumption for
that process. As long as a process uses less memory than the specified
threshold, then it is immune to the oom-killer.
Default "oomthresh" value for a new process is 0 (zero) I assume -
right? If not, then I'd suggest that it should be.
What happens when a process fork()s? Does the child enherit the
parents "oomthresh" value?
Would it make sense to make "oomthresh" apply to process groups
instead of processes?
On an embedded platform this allows the designer to engineer the system
and protect critical apps based on their expected memory consumption.
If one of those apps goes crazy and starts chewing additional memory
then it becomes vulnerable to the oom killer while the other apps remain
protected.
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?
If a patch for the above feature was submitted, would there be any
chance of getting it included? Maybe controlled by a config option?
Impossible to know without posting the patch for review :)
--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]