Limitar fácilmente el uso de CPU por proceso en Linux
Uno de los tips más útiles que podrías encontrar es limitar el consumo de CPU por proceso (sin meterte a cambiarle al archivo limits.conf) , ya sabes que hay algunos que se alocan y usan el procesador como si fuera el único proceso en ejecución. Para hacer esto es necesario instalar “cpulimit”:
En Ubuntu:
sudo apt-get install cpulimit
En otra distribución de Linux:
$ wget http://downloads.sourceforge.net/cpulimit/cpulimit-1.1.tar.gz
$ tar-zxf cpulimit * xxx.tar.gz
$ cd cpulimit-xxx
$ make
Una vez que lo tengas instalado podrás limitar el uso de los procesos si conoces su PID, su nombre o su ruta. Para hacerlo funcionar ejecuta lo siguiente:
Limitar por nombre de proceso (firefox solo podrá usar el 30% del CPU):
cpulimit -e firefox -l 30
Limitar por PID (El pid 3456 solo podra usar el 20% de procesador):
cpulimit -p 3456 -l 20
Limitar por ruta:
cpulimit -P /usr/local/firefox/firefox-bin -l 40
Si quieres probarlo, crea el siguiente script:
#!/bin/bash
while true
do
true
done
guardalo como cpuej.sh y ejecuta:
chmod +x cpuej.sh
./cpuej.sh &
top (checa el uso de cpu O_O)
En otra terminal ejecuta lo siguiente:
(consigue el PID del proceso anterior en el top)
cpulimit -p PID -l 10
Verifica el la terminal donde tienes el “top” ^_^.
cpulimit corre en foreground asi que te recomiendo que lo ejecutes y lo envies a background:
cpulimit -e firefox -l 30 &