加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读