Imagino que hablar de
controlar se me antoja demasiado duro, pero bueno, una máquina que nos trae fritos con la carga de MySQL y todavía no hemos localizado el motivo, así que dejo esto en el cron:
#!/bin/bash
LOG_FILE='/var/log/compruebamysql.log'
MYSQL_PID=`pidof mysqld`
CPU_LOAD=`ps up $MYSQL_PID | tail -1 | awk '{ print $3 }'`
CPU_LOAD2=`echo $CPU_LOAD | sed "s/\./\,/g"`
CPU_INT=`printf "%.0f" $CPU_LOAD2`
if [ "$CPU_INT" -gt "80" ]; then
echo "[ `date +'%d-%B-%G %H:%M:%S'` ] - Se ha reiniciado MySQL por sobrecarga" >> $LOG_FILE
/etc/init.d/mysqld restart
fi
Tan simple como comprobar que la carga de CPU no excede un porcentaje concreto (
el 80% en este caso) para hacer un restart y escurrir el problema. Sé que no es óptimo pero espero que me cubra algunos días.
Comentarios
¿o el problema es que cuando usa tanto procesador está colgado sí o sí?
Y en las mejores empresas de hosting/housing de este país tiran de este tipo de scripts para multitud de cosas, así que oye, no estará tan mal...