Linux中,如何解决进程被Kill

如果你的进程被kill,并且最后一行日志是:

Killed

你需要先增加虚拟内存!
这不是本篇文章的重点,如果你增加了虚拟内存后仍然被kill,这就是本篇文章要说的。

内核有个机制叫oom,具体你可以参考搜索引擎,它是你的进程被kill的原因,但是你可以设置你的进程不被kill

echo -17 > /proc/$(pgrep name)/oom_adj

pgrep scan4all是通过程序名获取PID的命令(请注意,如果你的程序有多个进程,会返回多个,那样就不能嵌入到👆的那行命令中)

你需要在你的程序运行时获取程序所有进程的PID,并执行类似👆的命令

然后oom就不会kill掉你的程序了

亲测有效!

其他

如果不设置,貌似oom会kill掉短时间内占用大量内存的程序,无论虚拟内存是否充足,但这只是猜测

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deng_Xian_Shemg

捐助1元钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值