2 formas de limitar el uso de CPU de un proceso en Linux

Mientras administra su sistema Linux, debe limitar el uso de CPU de un proceso porque puede consumir más uso de CPU y afecta el rendimiento de todo el sistema. En este tutorial mostraré cómo se puede controlar el tiempo de CPU de un proceso en Centos 7 y Ubuntu 16.

Consulte también : Cómo limitar el proceso a nivel de usuario en Linux

1) cpulimit

cpulimit es una buena herramienta de línea de comandos escrita en lenguaje de programación C para limitar el uso de CPU de un proceso. No está presente de forma predeterminada, por lo que debemos instalarlo.

Para instalar cpulimit en Ubuntu 16.04, haga lo siguiente

# apt-get install cpulimit

Instalar en centos 7

# yum install epel-release
# yum install cpulimit

Limitamos el uso de la CPU usando el --limit o -l opción para establecer un porcentaje de uso para un proceso. Antes de limitar el uso de la CPU, necesita encontrar el proceso o el comando que está usando todo su tiempo de CPU. Hay tres formas de utilizar cpulimit, actuando

  • en el programa ejecutable con el --executable o -eopción
cpulimit -e program -l %cpu
  • en el nombre de la ruta absoluta del archivo con el --path o -Popción
cpulimit -P path -l %cpu
  • sobre el PID del proceso con el--pid o -popción
cpulimit -p process_pid -l %cpu

Entonces, primero verificaremos el proceso / programa que consume el tiempo de la CPU

# top

Entonces puedes usar el siguiente comando con el nombre del programa.

# cpulimit -e vmware-vmx -l 40
Process 3185 detected

Puede ver que la herramienta ha detectado automáticamente la identificación del proceso del programa. Puede limitar el uso de la CPU con la identificación del proceso de la siguiente manera

# cpulimit -p 3185 -l 40
Process 3185 detected

Y puedes ver el resultado a continuación.

Puede ejecutar cpulimit en segundo plano utilizando el--background o -bopción

2) cputool

Puede usar cputool, que también usa cpulimit para reducir el uso de la CPU. Esto también se puede hacer usando el límite de carga. cputool no está presente de forma predeterminada, por lo que debe instalarlo en Ubuntu 16

# apt install cputool

Para usar cputool, debe respetar la sintaxis siguiente

cputool --cpu-limit %cpu -p process_pid

Con el mismo example, puede utilizar el cputool como se muestra a continuación

# cputool --cpu-limit 30 -p 3185

El comando tomará el control de su terminal para que pueda usarlo en segundo plano como se muestra a continuación:

# cputool --cpu-limit 30 -p 3185 &
[1] 16808

Puedes ver el resultado de la siguiente manera

Con estas herramientas, puede controlar fácilmente el uso de la CPU de un proceso cuando ya se está ejecutando. No necesita matar los procesos para reducir el uso, pero simplemente puede asignar un porcentaje que no exceda.