Linux 程序被Killed,查看原因
【摘要】 原文链接 查看信息输入以下程序:dmesg | egrep -i -B100 'killed process'可以输出最近killed的信息。 设定kill优先度 完全关掉oom(不建议)sysctl vm.overcommit_memory=2echo “vm.overcommit_memory=2” >> /etc/sysctl.conf 出现 Out of memory之后重启sysc...
查看信息
输入以下程序:
dmesg | egrep -i -B100 'killed process'
可以输出最近killed的信息。
设定kill优先度
完全关掉oom(不建议)
sysctl vm.overcommit_memory=2
echo “vm.overcommit_memory=2” >> /etc/sysctl.conf
出现 Out of memory之后重启
sysctl vm.panic_on_oom=1
sysctl kernel.panic=X
echo “vm.panic_on_oom=1” >> /etc/sysctl.conf
echo “kernel.panic=X” >> /etc/sysctl.conf
优先考虑kill这个进程
sudo echo 10>/proc/[PID]/oom_adj
尽量不去kill这个进程
sudo echo -15>/proc/[PID]/oom_adj
不会kill这个进程
sudo echo -17>/proc/[PID]/oom_adj
oom_adj的值在-16 到 +15之间,值越高被kill的优先度越高。当该值为-17时,系统将不会杀死指定pid的进程,而-16~15则会使得进程的/proc/[pid]/oom_adj值呈指数形式递增:
即它们被杀掉的可能性呈指数递增。针对init(进程号为1)这个进程,无论该值设为多少都不会被杀。
若拒绝访问
命令改为:
bash -c "echo '10' | tee /proc/[PID]/oom_adj"
bash -c "echo '-15' | tee /proc/[PID]/oom_adj"
bash -c "echo '-17' | tee /proc/[PID]/oom_adj"
学习更多编程知识,请关注我的公众号:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)