This bug is missing log files that will aid in diagnosing the problem.
>From a terminal window please run:
apport-collect 1666683
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable
to run this command, please add a comment stating that fact and change
the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the
Ubuntu Kernel Team.
** Changed in: linux (Ubuntu)
Status: New => Incomplete
--
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:
Incomplete
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 : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp