The OOM killer on Linux wreaks havoc with various applications every so often, and it appears that not much is really done on the kernel development side to improve this. Would it not be better, as a best practice when setting up a new server, to reverse the default on the memory overcommitting, that is, turn it off (vm.overcommit_memory=2
) unless you know you want it on for your particular use? And what would those use cases be where you know you want the overcommitting on?
As a bonus, since the behavior in case of vm.overcommit_memory=2
depends on vm.overcommit_ratio
and swap space, what would be a good rule of thumb for sizing the latter two so that this whole setup keeps working reasonably?