Messages in this thread | | | Date | Tue, 27 Oct 2009 17:25:47 -0700 (PDT) | From | David Rientjes <> | Subject | Re: Memory overcommit |
| |
On Wed, 28 Oct 2009, Vedran Fura wrote:
> 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! >
This is wrong; it doesn't "emulate oom" since oom_kill_process() always kills a child of the selected process instead if they do not share the same memory. The chosen task in that case is untouched.
| |