[ Linux ] Limiter les ressources d’un process via cpulimit !

 dans DevOps, Java, Linux, Outils, Serveur

Je pense qu’on a tous eu un jour ce problème ou un processus utilise tout le CPU et monopolise (lenteur) les autres processus… (d’une manière générique hein, je parle pas des autres effets comme le load, l’attente CPU des autres process, etc etc)… Surtout si l’on parle d’un environnement mutualisé 🙁

J’ai découvert CPULimit il y a plusieurs mois et je le trouve plutôt sympa ! Bon d’accord, il existe depuis pas mal d’année (presque 10 ans) mais quand même, ça peut être utile à certains d’entres vous 🙂

Bref sachez que ce petit soft limite l’utilisation du CPU d’une procédure (qui est exprimé en % et non pas le CPU time), et le contrôle est géré via l’envoi de signaux SIGSTOP et SIGCONT aux processus (y compris leurs threads attachés qui au final est partagé). CPULimit est disponible par package (en tout cas sur le dépôt EPEL) mais la compilation est possible, les sources sont sur Github par ici. Le soft utilise très peu d’options :

djerfy-macbook-2016-10-10-a-21-29-55

Si vous aimez un peu la bidouille, vous avez (avec un peu de taff) d’industrialiser tout ça, via vos scripts systemd/initd/dédié.. Voilà ! J’espère qu’il vous sera quand même un peu utile 😉

++

Articles recommandés