OOM(Out Of Memory) killer是Linux的一个机制,用于在系统内存不足的时候Kill掉一些进程。关于该机制的一些问题:
1、准确来说,何时触发?
这个还不是太清楚,可以确定的是未必内存确实耗尽了才会启动。
2、如何关闭或者打开该功能?
对于大部分Linux来说,可以通过/proc/sys/vm/oom-kill来打开或者关闭该功能(不同的OS下该字段的名字不太相同)。如果想让该机制在重启后仍然起作用,需要编辑/etc/sysctl.conf文件。
3、OOM killer如何确定杀死哪个进程?
OOM killer决定杀死哪个进程,考虑了很多因素。不过可以通过/proc/[pid]/oom_score来设置每个进程的得分。总之是进程得分越高,越容易被杀掉。
4、遇到OOM killer怎么办?
遇到这种情况,一个思路是关掉该机制,还有一个思路就是好好的想办法优化Linux。
转载于:https://my.oschina.net/qefarmer/blog/609185