script d’équilibrage de la charge du serveur

J’ai un serveur (Ubuntu) qui gère plusieurs domaines et exécute une série de scripts cron. Cependant, la charge sur le serveur ne peut pas être prédite, donc je ne peux pas définir la bonne quantité de charge dans les scripts cron.

Cependant, les scripts qui s’exécutent dans cron sont surchargés de temps en temps et génèrent une charge énorme à la fois sur le processeur et sur la mémoire, provoquant l’arrêt de plusieurs services du serveur (tels que le serveur de messagerie par exemple).

La question est: comment puis-je écrire un script qui exécute les routines qui sont maintenant dans cron uniquement lorsque la charge du serveur est inférieure à un seuil minimum? Existe-t-il une application sous Linux?

Merci pour votre temps!

Vous pouvez vérifier la gestion du système de monit . Vous pouvez append ceci dans votre fichier de configuration:



    # Surveillance des services Web apache2.
     # Il vérifiera le processus apache2 avec le fichier pid donné.
     # Si le nom du processus ou le chemin du fichier pidfichier est incorrect, alors
     # donner l'erreur de échec.  difficile apache2 est en cours d'exécution.
     vérifier le processus apache2 avec pidfile /var/run/apache2.pid
      start program = "/etc/init.d/apache2 start"
      stop program = "/etc/init.d/apache2 stop"
      # Admin notifiera par mail si la condition ci-dessous est satisfaite.
      si cpu est supérieur à 60% pendant 2 cycles alors alertez
      si CPU> 80% pendant 5 cycles, redémarrez
      si totalmem> 200.0 MB pendant 5 cycles, redémarrez
      si les enfants> 250 redémarrent alors
      si loadavg (5min) supérieur à 10 pendant 8 cycles, arrêtez
      si 3 redémarre dans les 5 cycles,
      serveur de groupe

C’est un bon outil et vous pouvez rechercher comment exécuter votre propre script lorsqu’une condition est remplie.