Dans le cadre de mes développements, j'ai eu récement à chercher comment limiter la consommation des ressources d'un processus lancé sous Linux.
La solution clé en main consiste à utiliser le logiciel Open Source CPULimit, disponible sur Source Forge, ou via un simple "apt-get" sous Debian.
Pour des tâches lourdes, très gourmantes en ressources systèmes, appellées par un script php/cgi par exemple il n'est pas toujours évident de conserver une disponibilité maximale du serveur. Grâce à ce petit utilitaire vous pourrez alors brider la quantité de CPU utilisable par le processus et ainsi garder une partie des ressources pour vos autres traitements.
La syntaxe est des plus simple :
La commande pour brider un processus par son nom :
cpulimit --exe application --limit 40
La commande pour brider un processus par son pid :
cpulimit --pid 2960 --limit 55
Dans le cas d'une machine disposant d'un double coeur ou double CPU, comptez alors la limitation comprise entre 0 et 200 %, etc ...
CPU Limit peut même être lancé en amont, pour limiter un processus dès son lancement, et ne pas attendre de récupérer son PID.