Re: Memory overcommit

From: Vedran FuraÄ
Date: Tue Oct 27 2009 - 20:08:58 EST


David Rientjes wrote:

> There's advantages to either approach, but it depends on the contextual
> goal of the oom killer when it's called: kill a rogue task that is
> allocating more memory than expected,

But it is wrong at counting allocated memory!
Come on, it kills /usr/lib/icedove/run-mozilla.sh. Parent, a shell
script, instead of its child(s) which allocated memory. Look, "test"
allocates some (0.1GB) memory, and you have:

% cat test.sh

#!/bin/sh
./test&
./test&
./test&
./test

% perl check_badness.pl|sort -n|g test

26511 7884 test
26511 7885 test
26511 7886 test
26511 7887 test
53994 7883 test.sh

// great, so test.sh "is" the bad ass, ok, emulate OOMK:

% kill -9 7883

// did we kill "a rogue task"

% perl check_badness.pl|sort -n|g test

26511 7884 test
26511 7885 test
26511 7886 test
26511 7887 test

// nooo, they are still alive and eating our memory!

QED by newbie. ;)

> or kill a task that will free the most memory.

.

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