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.