运行
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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。