我在嵌入式Linux上运行应用程序数小时后,突然出现了OOM Killer。
我设置了
为了检查我的设置是否生效,我请求大块内存,当我设置
那么,为什么OOM Killer仍然会启动,我该如何调查问题的来源?
我设置了
overcommit_memory=2
和overcommit_ratio=50
来引发这种情况,并捕获可能的泄漏,但是OOM Killer仍然会启动!为了检查我的设置是否生效,我请求大块内存,当我设置
overcommit_memory=2
时,确实返回0。那么,为什么OOM Killer仍然会启动,我该如何调查问题的来源?
malloc
之外,还有其他东西在占用内存。可能是某种幕后缓冲或其他什么。ps
命令对进程的内存使用情况有何说法? - Tom Zych