linux – 在X时间后杀死CPU占用率高的进程?
发布时间:2020-12-13 18:35:15 所属栏目:Linux 来源:网络整理
导读:运行 Linux我有一些流程偶尔会崩溃(游戏服务器),最终使用100%的CPU. 我正在寻找一个程序或脚本来检查一个进程列表的cpu使用情况,如果它们是100%超过X时间,比如30秒,就杀死它们.我尝试过ps-watcher,但无法确定如何完成此操作. 只是在100%使用情况下终止进
运行
Linux我有一些流程偶尔会崩溃(游戏服务器),最终使用100%的CPU.
我正在寻找一个程序或脚本来检查一个进程列表的cpu使用情况,如果它们是100%超过X时间,比如30秒,就杀死它们.我尝试过ps-watcher,但无法确定如何完成此操作. 只是在100%使用情况下终止进程将无法正常工作,因为它会在正常操作期间短暂停留. 我也发现这个脚本看起来像我想要的那样,但它仅限于一个过程:link 任何帮助是极大的赞赏! 解决方法
试试
monit.
你可以使用这样的配置来完成你的任务: check process gameserver with pidfile /var/run/gameserver.pid start program = "/etc/init.d/gameserver start" with timeout 60 seconds stop program = "/etc/init.d/gameserver stop" if cpu > 80% for 2 cycles then alert if cpu > 95% for 5 cycles then restart if totalmem > 200.0 MB for 5 cycles then restart if loadavg(5min) greater than 10 for 8 cycles then stop if failed port 12345 type tcp with timeout 15 seconds then restart if 3 restarts within 5 cycles then timeout 有关此配置的详细信息,请参见monit的documentation. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |