![¿Cómo reiniciar los servicios de Linux si llega al 100% de CPU?](https://rvso.com/image/726829/%C2%BFC%C3%B3mo%20reiniciar%20los%20servicios%20de%20Linux%20si%20llega%20al%20100%25%20de%20CPU%3F%20.png)
Tengo un servidor de correo electrónico postfix con saslauthd. Una y otra vez el demonio saslauthd consume el 100% de la CPU. Al reiniciar estos servicios se vuelve al uso normal de la CPU.
¿Existe algún script adecuado para determinar los servicios con un alto uso de CPU y reiniciarlos automáticamente?
Gracias de antemano.
Respuesta1
Quizás quieras echar un vistazo a monit
(sitio oficial).
Es fácilmente configurable para observar el uso elevado de la CPU y reiniciar los procesos cuando sea necesario.
Un ejemplo simple (debe configurarlo según las rutas y necesidades de su sistema):
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
Donde (tomado del manual):
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
y uncicloEsto es igual a la cantidad de segundos en las set daemon
opciones de configuración.