Why does OOM (Out of memory) kill occur even when the overcommit_memory tunable is set to 2 ?

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content