虽然overcommit_memory设置为2,但是OOM Killer仍会罢工

时间:2011-07-24 11:01:21

标签: out-of-memory embedded-linux

我的应用程序在嵌入式Linux中运行了几个小时,突然OOM杀手跳了出来。

我设置overcommit_memory=2overcommit_ratio=50来挑起情况并抓住可能的泄漏,但是OOM杀手仍然罢工!

要检查我的设置是否处于活动状态,我要求设置一个大型malloc,当我设置overcommit_memory=2时它确实返回零。

那么,为什么OOM杀手仍在开始,我该怎么做才能调查问题的根源?

1 个答案:

答案 0 :(得分:0)

因此,问题得到解答:使用sysctl调整VM的值。必要的参数是overcommit_ratio和dirty_ratio。 更新:比2009年晚的Linux版本具有更精确的字节调整,而不是百分比。