web-dev-qa-db-fra.com

Comment redémarrer automatiquement une application en cas d'utilisation excessive de RAM ou du processeur

Je vais utiliser un serveur Ubuntu 14.04 LTS sur lequel seront installés quelques serveurs Mod de Garry (Half-life 2/Source based). Je ne veux pas que l'un de ces serveurs se dérange en consommant trop de ressources RAM ou en CPU. Si un serveur utilise plus de 1 Go de RAM ou 100% de 1 cœur de processeur, j'aimerais qu'il redémarre automatiquement. De plus, y a-t-il un moyen de redémarrer automatiquement chacune de ces applications quotidiennement, par exemple à 12 heures?

Je suis très nouveau dans le domaine des scripts et je connais peu de choses, mais si quelqu'un pouvait au moins me diriger dans la bonne direction, ce serait grandement apprécié.

2
Jake

Avez surveillé gardez un œil sur ces démons:

Monit est un petit utilitaire permettant de gérer et de surveiller les systèmes Unix. Monit effectue la maintenance et la réparation automatiques et peut exécuter des actions causales significatives dans des situations d'erreur.

Par exemple, Apache utilise trop de ressources. Monit peut arrêter ou redémarrer Apache et vous envoyer un message d'alerte [...]

Les fichiers de configuration permettent d’exprimer facilement ce que vous voulez de manière naturelle. Pour exemple vous pouvez faire quelque chose comme:

check process spamd with pidfile /var/run/spamd.pid
   group mail
   start program = "/etc/init.d/spamd start"
   stop  program = "/etc/init.d/spamd stop"
   if 5 restarts within 5 cycles then timeout
   if cpu usage > 99% for 5 cycles then restart
   if mem usage > 99% for 5 cycles then restart

À installer:

$ Sudo apt-get install monit
4
lemonsqueeze