se genera un fichero, ejemplo memoria.sh y se le da permisos de escritura 755, luego generamos el crond para que lo haga cada minuto y cuando lo revisa resetea el apache, bajando la memoria
#!/bin/sh
DATE=`date ‘+%d%m%Y_%H%M%S’`
CONSUMO=`ps aux |grep Apache |awk ‘{SUM+=$4}END {print SUM}’`
UMBRAL=80
FLAG=/tmp/control_memoria.lock
if [[ -f $FLAG ]];then
logger -p ERROR «[Monitor de Memoria Apache] Hay Otro proceso de monitor ejecutandose»
exit 0
fi
touch $FLAG
if [[ $CONSUMO -gt $UMBRAL ]];then
logger -p ERROR «[Monitor de Memoria Apache] el consumo es superior a ${UMBRAL}% $CONSUMO»
/etc/init.d/httpd stop 2>/dev/null |logger
sleep 15
/etc/init.d/httpd start 2>/dev/null |logger
else
logger -p INFO «[Monitor de Memoria Apache] el consumo es inferior al ${UMBRAL}% $CONSUMO»
if [[ $CONSUMO -eq 0 ]];then
logger -p INFO «[Monitor de Memoria Apache] El consumo es igual a 0»
/etc/init.d/httpd stop 2>/dev/null |logger
sleep 15
/etc/init.d/httpd start 2>/dev/null |logger
fi
fi
rm $FLAG