参考文档:https://www.jianshu.com/p/20adbfb8016f
1、当系统内存不足时OOM就会被触发
执行grep -i “kill” /var/log/messages* 如果打印如下信息,则说明程序被Linux OOM Killer杀掉了
kernel: Memory … out of memory: Kill process …
2、当系统内存不足时,out_of_memory()就会被触发
3、cat /proc/sys/vm/panic_on_oom
这个值为 0 表示在OOM时系统执行OOM Killer
这个值为 1 表示在OOM时系统会panic(恐慌)
# sysctl是临时生效
# /etc/sysctl.conf是永久生效
sysctl -w vm.panic_on_oom=1
sysctl -w kernel.panic=10 # 表示10s后重启
echo “vm.panic_on_oom=1” >> /etc/sysctl.conf
echo “kernel.panic=10” >> /etc/sysctl.conf
4、如果cat /proc/sys/vm/panic_on_oom设置为1,则当发生OOM 时,cat /proc/ p i d / o o