lkml.org 
[lkml]   [2003]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectProtecting processes from the OOM killer
    For a while now, I've been trying to figure out how
    to make the oom killer not kill important processes.

    How about rewarding processes that have an
    RSS limit if they stay well below it?
    The operator can then mark processes that are important
    by using 'ulimit -m'.
    (This is orthogonal to Rik's recent patch.)

    --- oom_kill.c.orig 2002-09-26 17:31:12.000000000 -0700
    +++ oom_kill.c 2003-02-27 16:59:46.000000000 -0800
    @@ -86,6 +90,18 @@
    points *= 2;

    /*
    + * Processes which *have* an RSS limit, but which are under half of it,
    + * are behaving well, so halve their badness points.
    + * Do it again if they're under a quarter of their RSS limit.
    + */
    + if (p->rlim[RLIMIT_RSS].rlim_max != ULONG_MAX) {
    + if (p->mm->rss < (p->rlim[RLIMIT_RSS].rlim_max >> (PAGE_SHIFT+1)))
    + points /= 2;
    + if (p->mm->rss < (p->rlim[RLIMIT_RSS].rlim_max >> (PAGE_SHIFT+2)))
    + points /= 2;
    + }
    +
    + /*
    * Superuser processes are usually more important, so we make it
    * less likely that we kill those.
    */
    --
    Dan Kegel
    http://www.kegel.com
    http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045

    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 13:33    [W:6.145 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site