Bug 9316
Summary: | My system hangs when it has no more free memory to allocate via malloc() | ||
---|---|---|---|
Product: | Memory Management | Reporter: | Thomas (kernel) |
Component: | Other | Assignee: | Andrew Morton (akpm) |
Status: | REJECTED INVALID | ||
Severity: | normal | CC: | a.p.zijlstra |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.23 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Thomas
2007-11-07 06:49:01 UTC
Takes about 5 minutes to run into OOM on a dual core opteron with 2GB of memory and a bucket of swap (2.6.24-rc2-ish) x86_64 kernel + userland (F8). Processes seem to be snoozing here: /* Take a nap, wait for some writeback to complete */ if (sc.nr_scanned && priority < DEF_PRIORITY - 2) congestion_wait(WRITE, HZ/10); will run a bit with: http://lkml.org/lkml/2007/9/27/311 reduces the wait for the OOM killer to about 3 minutes, obviously it still kills the wrong processes. We've consumed all memory, all swap, and are scanning like mad, triggering the oom killer left right and center. Not killing the obvious process is pretty sad but aside from that it looks to be doing the right thing. Closing - we have a no overcommit mode for cases this isn't acceptable. |