Magazine Humeur

How to automatically take an action if the load average is too high

Publié le 14 juillet 2015 par Christophe_casalegno

When you manage servers, it can be useful to take a numbers of action automatically (restart a service, add a firewall rules, kill a process, sending an alert, etc.) if the load average is too high. The problem of a lot of shell script about this, it's if the load average down slowly after the action, the script may go wrong and execute another kill, restart, etc that can be a cause of a service downtime.

The solution is to check 2 states of the load average before running yours commands.

Place to the code :


tsleep=2 # time to wait before 2 checks
llimit=8 # load limit before action
action="/home/dni/" # script or to execute if necessary

load=`cat /proc/loadavg |awk {'print $1'}|cut -d "." -f1` # The load average now
sleep $tsleep
load2=`cat /proc/loadavg |awk {'print $1'}|cut -d "." -f1` # The load average after tsleep

if test "$load" -ge $llimit


if test "$load2" -ge $load

echo "ok" 1>&2



echo "ok" 1>&2

Now you have just to put this script into your crontab each minutes for example and says good night to your server ;). You can also download directly this script from :

Christophe Casalegno

Vous pourriez être intéressé par :

Retour à La Une de Logo Paperblog

Ces articles peuvent vous intéresser :

A propos de l’auteur

Christophe_casalegno 1903 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte