diff options
author | David Rientjes <rientjes@google.com> | 2007-10-17 02:25:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 11:42:46 -0400 |
commit | fe071d7e8aae5745c009c808bb8933f22a9e305a (patch) | |
tree | 757dc7c41a7b56974c383743103fb711c976c288 /Documentation/sysctl | |
parent | ff0ceb9deb6eb017f52900b708d49cfa77bf25fb (diff) |
oom: add oom_kill_allocating_task sysctl
Adds a new sysctl, 'oom_kill_allocating_task', which will automatically kill
the OOM-triggering task instead of scanning through the tasklist to find a
memory-hogging target. This is helpful for systems with an insanely large
number of tasks where scanning the tasklist significantly degrades
performance.
Cc: Andrea Arcangeli <andrea@suse.de>
Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/sysctl')
-rw-r--r-- | Documentation/sysctl/vm.txt | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt index a0ccc5b60260..17346da636e7 100644 --- a/Documentation/sysctl/vm.txt +++ b/Documentation/sysctl/vm.txt | |||
@@ -31,6 +31,7 @@ Currently, these files are in /proc/sys/vm: | |||
31 | - min_unmapped_ratio | 31 | - min_unmapped_ratio |
32 | - min_slab_ratio | 32 | - min_slab_ratio |
33 | - panic_on_oom | 33 | - panic_on_oom |
34 | - oom_kill_allocating_task | ||
34 | - mmap_min_address | 35 | - mmap_min_address |
35 | - numa_zonelist_order | 36 | - numa_zonelist_order |
36 | 37 | ||
@@ -220,6 +221,27 @@ The default value is 0. | |||
220 | 1 and 2 are for failover of clustering. Please select either | 221 | 1 and 2 are for failover of clustering. Please select either |
221 | according to your policy of failover. | 222 | according to your policy of failover. |
222 | 223 | ||
224 | ============================================================= | ||
225 | |||
226 | oom_kill_allocating_task | ||
227 | |||
228 | This enables or disables killing the OOM-triggering task in | ||
229 | out-of-memory situations. | ||
230 | |||
231 | If this is set to zero, the OOM killer will scan through the entire | ||
232 | tasklist and select a task based on heuristics to kill. This normally | ||
233 | selects a rogue memory-hogging task that frees up a large amount of | ||
234 | memory when killed. | ||
235 | |||
236 | If this is set to non-zero, the OOM killer simply kills the task that | ||
237 | triggered the out-of-memory condition. This avoids the expensive | ||
238 | tasklist scan. | ||
239 | |||
240 | If panic_on_oom is selected, it takes precedence over whatever value | ||
241 | is used in oom_kill_allocating_task. | ||
242 | |||
243 | The default value is 0. | ||
244 | |||
223 | ============================================================== | 245 | ============================================================== |
224 | 246 | ||
225 | mmap_min_addr | 247 | mmap_min_addr |