Why does OOM (Out of memory) kill occur even when the overcommit_memory tunable is set to 2 ?
Issue
-
Setting overcommit_memory=2 should force the kernel to deny memory allocation requests once memory is exhausted, but OOM still occurs :
2011-04-12T06:49:13.434570+10:00 hostname kernel: Out of memory: kill process 4303 (pickup) score 16035 or a child 2011-04-12T06:49:13.434574+10:00 hostname kernel: Killed process 4303 (pickup) vsz:64140kB, anon-rss:68kB, file-rss:56kB 2011-04-12T06:49:25.412062+10:00 hostname kernel: httpd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=-17 -
The /etc/sysctl.conf file consists :
vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Environment
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.