1 Feb 2010 01:01
Re: [PATCH v3] oom-kill: add lowmem usage aware oom kill handling
KAMEZAWA Hiroyuki <kamezawa.hiroyu <at> jp.fujitsu.com>
2010-02-01 00:01:40 GMT
2010-02-01 00:01:40 GMT
On Fri, 29 Jan 2010 13:07:01 -0800 (PST)
David Rientjes <rientjes <at> google.com> wrote:
> On Sat, 30 Jan 2010, KAMEZAWA Hiroyuki wrote:
>
> > okay...I guess the cause of the problem Vedran met came from
> > this calculation.
> > ==
> > 109 /*
> > 110 * Processes which fork a lot of child processes are likely
> > 111 * a good choice. We add half the vmsize of the children if they
> > 112 * have an own mm. This prevents forking servers to flood the
> > 113 * machine with an endless amount of children. In case a single
> > 114 * child is eating the vast majority of memory, adding only half
> > 115 * to the parents will make the child our kill candidate of
> > choice.
> > 116 */
> > 117 list_for_each_entry(child, &p->children, sibling) {
> > 118 task_lock(child);
> > 119 if (child->mm != mm && child->mm)
> > 120 points += child->mm->total_vm/2 + 1;
> > 121 task_unlock(child);
> > 122 }
> > 123
> > ==
> > This makes task launcher(the fist child of some daemon.) first victim.
>
> That "victim", p, is passed to oom_kill_process() which does this:
>
> /* Try to kill a child first */
(Continue reading)
RSS Feed