我的应用程序在嵌入式Linux中运行了几个小时,突然OOM Killer跳了出来。
我设置了overcommit_memory=2和overcommit_ratio=50来挑衅这种情况,并捕获可能的泄漏,但OOM杀手仍然出局!
为了检查我的设置是否处于活动状态,我请求了一个大的malloc,当我设置overcommit_memory=2时,它确实返回零。
那么,为什么OOM杀手还在启动,我可以做些什么来调查问题的根源?
发布于 2012-04-03 15:22:53
因此,问题的答案就是:使用sysctl调优VM的值。基本参数是overcommit_ratio和dirty_ratio。更新: 2009年之后的linux版本有更精确的字节调优,而不是百分比调优。
https://stackoverflow.com/questions/6806391
复制相似问题