Re: Improving OOM killer

From: David Rientjes
Date: Thu Feb 04 2010 - 17:15:02 EST


On Thu, 4 Feb 2010, Rik van Riel wrote:

> > Keep in mind that we're in the oom killer here, though. So we're out of
> > memory and we need to kill something; should Apache, Oracle, and postgres
> > not be penalized for their cost of running by factoring in something like
> > this?
>
> No, they should not.
>
> The goal of the OOM killer is to kill some process, so the
> system can continue running and automatically become available
> again for whatever workload the system was running.
>
> Killing the parent process of one of the system daemons does
> not achieve that goal, because you now caused a service to no
> longer be available.
>

The system daemon wouldn't be killed, though. You're right that this
heuristic would prefer the system daemon slightly more as a result of the
forkbomb penalty, but the oom killer always attempts to sacrifice a child
with a seperate mm before killing the selected task. Since the forkbomb
heuristic only adds up those children with seperate mms, we're guaranteed
to not kill the daemon itself.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/