CPU 使用率が 100% に達した場合に Linux サービスを再起動するにはどうすればよいでしょうか?

CPU 使用率が 100% に達した場合に Linux サービスを再起動するにはどうすればよいでしょうか?

私は saslauthd を備えた postfix 電子メール サーバーを持っています。saslauthd デーモンが何度も CPU を 100% 消費します。これらのサービスを再起動すると、CPU 使用率が正常に戻ります。

CPU 使用率が高いサービスを特定し、自動的に再起動する適切なスクリプトはありますか。

前もって感謝します。

答え1

ぜひご覧になってみてください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

関連情報