linux进程异常退出分析,ECS Linux程序异常退出提示“out of memory”的临时解决办法...
ECS Linux上的程序會(huì)出現(xiàn)異常退出的情況,退出的原因多數(shù)是因?yàn)橄到y(tǒng)內(nèi)存不足,Linux內(nèi)存不足通常會(huì)觸發(fā) Linux 內(nèi)核里的 Out of Memory (OOM) killer,OOM killer 會(huì)殺掉內(nèi)存占用最多的進(jìn)程以騰出內(nèi)存留給系統(tǒng)用,這樣系統(tǒng)不致于立刻崩潰。
如果檢查相關(guān)的日志文件(/var/log/messages)就會(huì)看到下面類似的 Out of memory: Kill process 信息:
...
Out of memory: Kill process 9682 (mysqld) score 9 or sacrifice child
Killed process 9682, UID 27, (mysqld) total-vm:47388kB, anon-rss:3744kB, file-rss:80kB
httpd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
httpd cpuset=/ mems_allowed=0
Pid: 8911, comm: httpd Not tainted 2.6.32-279.1.1.el6.i686 #1
...
臨時(shí)解決方法:
1.關(guān)閉oom-killer
cat /proc/sys/vm/oom-kill
echo "0" > /proc/sys/vm/oom-kill
vi /etc/sysctl.conf
vm.oom-kill = 0
2.修改該進(jìn)程的OOM分?jǐn)?shù)
echo -17 > /proc/PID/oom_adj
PID為不想被Kill的進(jìn)程的進(jìn)程ID,這樣 OOM kill會(huì)跳過這個(gè)進(jìn)程
3.或清空cache ,暫時(shí)釋放內(nèi)存
echo 3 > /proc/sys/vm/drop_caches
修改oom-killer的配置可能會(huì)在內(nèi)存不足時(shí)無法kill進(jìn)程導(dǎo)致系統(tǒng)崩潰,所以出現(xiàn)內(nèi)存資源不足時(shí),建議優(yōu)化各類程序,如優(yōu)化的空間有限,建議提升系統(tǒng)內(nèi)存。
總結(jié)
以上是生活随笔為你收集整理的linux进程异常退出分析,ECS Linux程序异常退出提示“out of memory”的临时解决办法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu linux下的C语言开发(
- 下一篇: linux 脚本 wait,shell脚