Linux

如果達到 100% CPU,如何重新啟動 linux 服務?

  • September 7, 2018

我有帶有 saslauthd 的後綴電子郵件伺服器。saslauthd 守護程序一次又一次地佔用 100% 的 CPU。重新啟動這些服務會恢復正常的 CPU 使用率。

是否有任何適當的腳本來確定具有高 CPU 使用率的服務並自動重新啟動它。

提前致謝。

你可能想看看monit官方網站)。

它很容易配置以監視高 CPU 使用率並在需要時重新啟動程序。

一個簡單的例子(你應該根據你的系統路徑和需要來配置它):

check process saslauth with pidfile /var/run/saslauthd/saslauthd.pid
   group mail
   start program = "/etc/init.d/saslauthd start"
   stop program = "/etc/init.d/saslauthd stop"
   if cpu > 90% for 2 cycles then restart

哪裡(取自手冊):

CPU([user|system|wait]) is the percent of time the system spend in user or 
kernel space and I/O. The user/system/wait modifier is optional, if not 
used, the total system cpu usage is tested

一個週期等於set daemon配置選項中的秒數。

引用自:https://serverfault.com/questions/929840