Limite el uso de CPU de un proceso en Linux con la herramienta CPULimit

Limite el uso de CPU de un proceso en Linux con la herramienta CPULimit

En una publicación anterior, explicamos CPUTool para limitar y controlar la utilización de la CPU de cualquier proceso en Linux. Permite que un administrador del sistema interrumpa la ejecución de un proceso (o grupo de procesos) si la carga de la CPU/sistema supera un umbral definido. Aquí, aprenderemos a usar una herramienta similar llamada cpulimit.

Cpulimit. se usa para restringir el uso de CPU de un proceso de la misma manera como CPUTool. sin embargo, ofrece más opciones de uso en comparación con su contraparte. Una diferencia importante es que cpulimit no gestiona la carga del sistema a diferencia de cputool.

Lectura sugerida: 9 comandos útiles para obtener información de la CPU en Linux

Instale CPULimit para limitar el uso de la CPU Of a Process in Linux

CPULimit. está disponible para instalar desde los repositorios de software predeterminados de Debian/Ubuntu. y sus derivados utilizando una herramienta de administración de paquetes.

$ sudo apt install cpulimit

En RHEL/CentOS. y Fedora. primero debe habilitar el repositorio EPEL y luego instalar cpulimit como se muestra.

# yum install epel-release # yum install cpulimit

Limitar el uso de CPU del proceso con CUPLimit freestar.config.enabled_slots.push

En este subsección, explicaremos cómo funciona cpulimit. Primero, ejecutemos un comando (el mismo comando dd. que observamos mientras cubríamos cputool) que debería resultar en un alto porcentaje de CPU, en segundo plano (tenga en cuenta que el PID del proceso se imprime después de ejecutar el comando) .

$ dd if =/dev/zero of =/dev/null & [1] 17918

A continuación, podemos usar las herramientas top o glances que dan como resultado el estado real actualizado con frecuencia de un sistema Linux en ejecución, para ver el uso de CPU del comando anterior.

$ top  Supervisar el uso de CPU en Linux Supervisar el uso de la CPU en Linux Supervisar el uso de CPU en Linux

Al observar el resultado anterior, podemos ver que el proceso dd. está utilizando el porcentaje más alto de tiempo de CPU 100.0%. .

Pero podemos limitar esto usando cputlimit de la siguiente manera. La opción–pid o-p se usa para especificar el PID y–limit o-l se usa para establecer un porcentaje de uso para un proceso.

El siguiente comando limitará el comando dd. ( PID 17918. al 50%. de uso de un núcleo de CPU.

$ sudo cpulimit–pid 17918–limit 50 Proceso 17918 detectado

Una vez que ejecutamos cpulimit, podemos ver el uso actual de la CPU para el comando dd. con top o glances. A partir de la salida, el valor varía entre ( 51,5%-55,0%. o un poco más).

 Limitar el uso de CPU del proceso en Linux  Límite Uso de CPU del proceso en Linux Limitar el uso de CPU del proceso en Linux

Podemos reducir su uso de CPU por segunda vez de la siguiente manera, esta vez reduciendo aún más el porcentaje de la siguiente manera:

$ sudo cpulimit–pid 17918–limit 20 Proceso 17918 detectado

Como hicimos antes, podemos ejecutar top o glances para ver el nuevo uso de CPU para el proceso, que variará de 20 %-25.0%. o un poco más.

$ top  Acelerar el uso de la CPU en Linux  Uso de CPU del acelerador en Linux Acelerar el uso de la CPU en Linux

Nota. el shell deja de ser interactivo; no espera ninguna entrada del usuario cuando cpulimit se está ejecutando. Para matarlo (lo que debería detener la operación de limitación de uso de la CPU), presione [Ctrl + C].

Para ejecutar cpulimit como un proceso en segundo plano, use el interruptor–background o-b, liberando el terminal .

$ sudo cpulimit–pid 17918–limit 20–background

Para especificar el número de núcleos de CPU presentes en el sistema, use la bandera–cpu o-c (esto normalmente se detecta automáticamente) .

$ sudo cpulimit–pid 17918–limit 20–cpu 4

En lugar de limitar el uso de CPU de un proceso, podemos eliminarlo con la opción–kill o-k. La señal predeterminada que se envía al proceso es SIGCONT. pero para enviar una señal diferente, use la bandera–signal o-s.

$ sudo cpulimit–pid 17918–limit 20–kill

Para salir si no hay un proceso de destino adecuado, o en caso de que muera, incluya la-z o–lazy así.

$ sudo cpulimit–pid 17918–limit 20-kill–lazy

Para obtener información adicional y opciones de uso, consulte la página de manual de cpulimit.

$ man cpulimit

Consulte las siguientes guías útiles para encontrar información de CPU y monitoreo de rendimiento de CPU/sistema.

  1. Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux
  2. Cpustat: supervisa la utilización de la CPU mediante procesos en ejecución en Linux
  3. CoreFreq: una potente supervisión de la CPU Herramienta para sistemas Linux
  4. Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux
  5. 20 herramientas de línea de comandos para monitorear el rendimiento de Linux
  6. 13 herramientas de monitoreo de rendimiento de Linux-Parte 2

En comparación, un Después de probar CPUTool y CPULimit. notamos que el primero ofrece una funcionalidad de “limitación de uso de CPU de proceso” más efectiva y confiable.

Esto es de acuerdo con el rango de porcentaje de uso de CPU observado después de ejecutar ambas herramientas en un proceso determinado. Pruebe ambas herramientas y agregue sus ideas a este artículo utilizando el formulario de comentarios a continuación.

Leave a comment

Your email address will not be published. Required fields are marked *