** Changed in: linux (Ubuntu) Status: Confirmed => Triaged -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1666683
Title: Default VM overcommit sysctls in Ubuntu lead to unnecessary oom-killer invocation Status in linux package in Ubuntu: Triaged Bug description: On my system, running a couple of LXD containers and VMs (16 GB RAM, 16 GB swap) seems to cause the kernel oom-killer to be frequently triggered. In order to try to resolve this, first I tried limiting the memory my containers were allowed to use, such as by using: lxc config set <container> limits.memory 1024GB ... and restarting the containers for good measure. However, this didn't resolve the problem. After looking deeper into what might trigger the oom-killer even though I seemed to have plenty of memory free, I found out that the kernel VM overcommit can be tuned with the `vm.overcommit_memory` sysctl. The default for value of `vm.overcommit_memory`, 0, uses a heuristic to determine whether or not requested memory is available. According to the `man 5 proc`, if the value is set to zero: """ calls of mmap(2) with MAP_NORESERVE are not checked, and the default check is very weak, leading to the risk of getting a process "OOM-killed". """ Which seems to describe exactly my problem. However, upon setting this value to 2, many of my open programs immediately aborted with out-of- memory errors. This is because the default value for `vm.overcommit_ratio` only allows the usage of 50% of the system's total (memory + swap). I then found the following answer on Server Fault: http://serverfault.com/a/510857/15268 The answers to this question seem to make a good case that the overcommit_ratio should be set to 100. In summary, I think the following sysctl values should be the new defaults: vm.overcommit_memory = 2 vm.overcommit_ratio = 100 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1666683/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp