Re: Killing/balancing processes when overcommited

From: Jurriaan (thunder7@xs4all.nl)
Date: Wed Sep 11 2002 - 13:27:41 EST


From: Jim Sibley <jlsibley@us.ibm.com>
Date: Wed, Sep 11, 2002 at 11:08:43AM -0700
> 1 - cpu usage may not be a good measure
> 2 - Large memory tasks may not be a good measure
> 3 - Measuring memory by task is misleading
> 4 - Niceness is not really useful in a multi-user environment.
> 5 - Other numerical limits tend to be arbitrary.

I was just think (feel free to point out the errors of my way):

what if we used the time a program was started as a guide? The last
programs started are killed of first.

That would mean that init survives to the last, as would the daemons
that are started when booting.

Alternatively, suppose we get a very large pid-space, and at the end of
booting there's something like

echo "5000" > /proc/sys/minimum-pid-from-here-on

Then, you could do:

echo "5000" > proc/sys/oom_lowest_pid_to_try_killing_first

in other words, protect a part of pid-space against oom-killing.

How this all works with threads, forks, child-processes etc etc is
beyond me - I'm just thinking a bit.

Jurriaan

-- 
A black cat crossing your path signifies that the animal is going somewhere.
        Groucho Marx (1890-1977)
GNU/Linux 2.4.19-ac4 SMP/ReiserFS 2x1402 bogomips load av: 1.57 1.36 0.87
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Sep 15 2002 - 22:00:28 EST