Linux OOM killer

Linux内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽,内核会把该进程杀掉,监控是正常的。
防止重要的系统进程触发(OOM)机制而被杀死:可以设置参数/proc/PID/oom_adj为-17,临时关闭linux内核的OOM机制。

保护某个进程不被内核杀掉可以这样操作:

echo -17 > /proc/$PID(进程的PID)/oom_adj

或者通过修改内核参数禁止OOM机制

sysctl -w vm.panic_on_oom=1
vm.panic_on_oom = 1 //1表示关闭,默认为0表示开启OOM
sysctl -p

End

上一篇:Java OOM问题如何排查


下一篇:java 1.5 自动拆箱和装箱的注意事项