OOM Killer strikes although overcommit_memory is set to 2
I have application running for hours in embedded Linux, when suddenly the OOM Killer jumps out.
I set overcommit_memory=2
and overcommit_ratio=50
to provoke the situation and catch the possible leaks, but the OOM Killer still strikes out!
To check that my settings are active, I asked for a big malloc and it really does return zero when I set overcommit_memory=2
.
So开发者_开发知识库, why is the OOM Killer still starting and what can I do to investigate the source of the problem?
So, the question is answered: tune the values of VM using sysctl. The essential parameters are overcommit_ratio and dirty_ratio. UPDATE: the linux versions later than 2009 have more accurate tuning in bytes, not in percent.
精彩评论