Mientras administras tu sistema Linux necesitas limitar el uso de la CPU de un proceso porque puede consumir mucho uso y afectar el rendimiento de todo el sistema. Este tutorial te mostrará cómo puedes controlar el tiempo de CPU de un proceso en Ubuntu.
1) Cpulimit
Cpulimit es una buena herramienta de línea de comandos escrita en el lenguaje de programación C para limitar el uso de la CPU de un proceso. No está presente por defecto, así que necesitamos instalarlo.
Para instalar cpulimit en Ubuntu, hagaz lo siguiente
# sudo apt install cpulimit
Limitamos el uso de la CPU usando la opción –limit o -l para establecer un porcentaje de uso para un proceso. Antes de limitar el uso de la CPU, necesitas encontrar el proceso o el comando que está usando todo el tiempo de tu CPU. Hay tres maneras de usar cpulimit, actuando:
En el programa ejecutable con --executable
o la opción -e.
cpulimit -e program -l %cpu
En el nombre de la ruta absoluta del fichero con la directiva --path
o la opción -P
cpulimit -P path -l %cpu
En el PID del proceso--pid
o la opción -p
cpulimit -p process_pid -l %cpu
Por lo tanto, primero comprobaremos el proceso/programa que consume el tiempo de la CPU.
# top
A continuación, puedes utilizar el siguiente comando con el nombre del programa.
# cpulimit -e vmware-vmx -l 40 Process 3185 detected
Puedes ver que la herramienta ha detectado automáticamente el ID de proceso del programa. Puedes limitar el uso de la cpu con el identificador de proceso como se indica a continuación.
# cpulimit -p 3185 -l 40 Process 3185 detected
Puedes ver el resultado abajo.
Puedes ejecutar cpulimit en segundo plano utilizando la opción –background o la opción -b.
2) cputool
Puede utilizar cputool, que también utiliza cpulimit para reducir el uso de la CPU. Cputool no está presente de forma predeterminada, por lo que deberá instalarlo en Ubuntu.
# apt install cputool
Para usar cputool, debes respetar la siguiente sintaxis,
cputool --cpu-limit %cpu -p process_pid
Con el mismo ejemplo, puedes utilizar cputool de la siguiente manera,
# cputool --cpu-limit 30 -p 3185
El comando tomará el control de tu terminal para que puedaa utilizarlo en segundo plano como se indica a continuación:
# cputool --cpu-limit 30 -p 3185 & [1] 16808
Puedes ver el resultado abajo:
Con estas herramientas, puedes controlar fácilmente el uso de la CPU de un proceso cuando ya está en ejecución. No es necesario matar los procesos para reducir el uso, pero puedes simplemente asignar un porcentaje que no exceda.