Linux:达到 100% 后自动重启第三方进程

Linux:达到 100% 后自动重启第三方进程

是否有通用的方法来监视某个进程,并且当该进程的 CPU 占用率超过 x 秒时自动重新启动它?

我正在解决 Mono 的 fastcgi 服务器中的一些错误,在寻找修复方法(分析堆栈跟踪)的同时,我正在寻找一种解决方法,可以自动检测它是否卡住并使用相同的命令行参数重新启动它。

谢谢。

答案1

尝试监控

示例配置:

check process example-server with pidfile /var/run/example-server.pid
  start program = "/etc/init.d/example-server start" with timeout 60 seconds
  stop program  = "/etc/init.d/example-server stop"
  if cpu > 90% for 3 cycles then restart

也可以看看:

  1. https://serverfault.com/questions/97541/kill-process-with-high-cpu-usage-after-x-time
  2. https://stackoverflow.com/questions/2784468/monitor-and-kill-runaway-processes-using-100-io
  3. http://mmonit.com/monit/documentation/monit.html

相关内容