Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Limita el consumo de CPU de las aplicaciones en Linux

Seguro que en más de una ocasión os habéis encontrado con un equipo en cuestión en el que un programa/aplicación específico consume casi todo el tiempo de proceso del ordenador, llegando a dejar al sistema casi sin recursos y en un estado de semicuelgue. En nuestro caso lo hemos comprobado en alguna ocasión con Firefox / Swiftfox. ¿Sabes cómo evitarlo -sin dejar de utilizarlo -obviamente-?.

Como se puede ver en la imagen anterior Swiftfox es el causante del problema que comentamos y vamos a utilizar Cpulimit para limitar el uso de CPU del mismo. Se puede realizar de manera individual, si nos interesa en este momento, o bien utilizar un demonio y automatizar la tarea para cada arranque.

Utilizaremos Ubuntu como sistema base para instalarlo, pero es compatible con otras distribuciones. Se puede descargar desde Ubuntu Software Center, haciendo clic aquí o escribiendo el siguiente comando en el terminal:

sudo apt-get install cpulimit

Para utilizarlo sólo tenemos que llamar a la aplicación de la siguiente manera:

sudo cpulimit -p PID -l CPU%

El PID es la identificación del proceso, que podemos ver en la primera imagen, fácilmente desde System Monitor, en nuestro caso 6517. De esta manera tecleando el siguiente comando bloquearíamos  una demanda superior al 20%.

Bajando automáticamente el consumo a 18% en este instante:

Como vemos, funciona, pero, ¿y si queremos dejarlo así de manera perenne? Sólo tenemos que configurar un demonio que trabaje como servicio  de manera sencilla. Comenzamos instalando CPUlimit y gawk:


sudo apt-get install cpulimit gawk

Descargamos los scripts desde aquí: cpulimit.tar. Extraemos el archivo tar en tu carpeta Home y dispondrás dentro de dos archivos: cpulimit_daemon.sh y cpulimit.

Puedes abrir cpulimit_daemon.sh con tu editor de texto y cambiarlo a tu gusto:

Advertencia, desplázate para continuar leyendo

CPU_LIMIT: el límite máximo de recursos CPU en porcentaje.

DAEMON_INTERVAL: intervalo de chequeo del sistema

BLACK_PROCESS_LIST: Es una lista de los procesos que monitorizará, por ejemplo “mysql|firefox|gedit“.

WHITE_PROCESSES_LIST: Procesos que NO quieres monitorizar.

Nota: Sólo se puede utilizar una u otra lista, la otra tiene que estar vacía. En la primera se restringe el uso a la aplicación que listes y  en la segunda se bloquea el uso a todas menos las que escribas.

Configurando el sistema

Copiar cpulimit_daemon.sh a  /usr/bin/


sudo cp ~/cpulimit/cpulimit_daemon.sh /usr/bin
sudo chmod 700 /usr/bin/cpulimit_daemon.sh

Copiar el archivo cpulimit a  /etc/init.d/ y configurar los permisos necesarios para ejecución durante el arranque.


sudo cp ~/cpulimit/cpulimit /etc/init.d/
sudo chown root:root /etc/init.d/cpulimit
sudo chmod +x /etc/init.d/cpulimit
sudo update-rc.d cpulimit defaults

Una vez todo listo, sólo queda reiniciar el sistema y ver cómo nuestro ordenador bloquea selectivamente a esas aplicaciones tragonas de CPU, evitando esos incómodos periodos de espera, en nuestro caso, debidos en su mayoría al plugin Flash.

Puedes monitorizar el estado de cpulimit desde consola:


sudo service cpulimit status

41 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

Parece que fue ayer, pero el tiempo pasa volando y Ubuntu 14.04 LTS ‘Trusty Tahr’ está a punto de cumplir diez años desde su...

Actualidad

Cumpliendo con fidelidad la hoja de ruta marcada aquí llega Ubuntu 22.04.4 LTS, cuarta actualización de mantenimiento de la versión de de soporte extendido...

Prácticos

Con el lanzamiento de Firefox 122, Mozilla puso a disposición un repositorio APT que permite instalar la rama estable del navegador en distribuciones basadas...

Actualidad

El jueves 25 de abril, dentro de poco más de un par de meses se lanzará Ubuntu 24.04 LTS, la nueva versión de largo recorrido...