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

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

En una publicación anterior, hemos explicado a CPUTOL para limitar y controlar la utilización de la CPU de cualquier proceso en Linux. Permite a un administrador del sistema interrumpir la ejecución de un proceso (o grupo de proceso) si la carga de CPU/sistema va más allá de un umbral definido. Aquí, aprenderemos cómo usar una herramienta similar llamada cpulimit.

Cpulimit se utiliza para restringir el uso de la CPU de un proceso de la misma manera que Ctool, Sin embargo, ofrece más opciones de uso en comparación con su contraparte. Una diferencia importante es que CPulimit no administra la carga del sistema a diferencia de ctool.

Leer sugerido: 9 comandos útiles para obtener información de CPU en Linux

Instale CPULIMIT para limitar el uso de CPU de un proceso en Linux

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

$ sudo apt install cpulimit 

En Rhel/centos y Fedora, primero debe habilitar el repositorio de epel y luego instalar cpulimit como se muestra.

# yum instalación Epel-Lanzamiento
# yum install cpulimit

Uso de CPU del proceso limitante con cuplimit

En esta Sub Sección, explicaremos cómo funciona CPulimit. Primero, ejecutemos un comando (lo mismo Comando DD Miramos mientras cubrimos CPUTOOL) que debería dar como resultado 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/cero of =/dev/null & [1] 17918 

A continuación, podemos usar las herramientas superiores o de miradas que generan el estado actual actualizado con frecuencia de un sistema Linux en ejecución, para ver el uso de la CPU del comando anterior.

$ top 
Monitorear el uso de la CPU en Linux

Mirando la salida anterior, podemos ver que el dd El proceso está utilizando el mayor porcentaje de tiempo de CPU 100.0%.

Pero podemos limitar esto usando cputLimit de la siguiente manera. El --pid o -pag La opción se usa para especificar el PID y --límite o -l se utiliza para establecer un porcentaje de uso para un proceso.

El siguiente comando limitará el Comando DD (PID 17918) a 50% 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 la parte superior o las miradas. Desde la salida, el valor varía de (51.5%-55.0% o un poco más allá).

Limite el uso del proceso de la CPU en Linux

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

$ sudo cpulimit - -pid 17918 --limit 20 proceso 17918 detectado 

Como lo hicimos antes, podemos ejecutar la parte superior o las miradas para ver el nuevo uso de la CPU para el proceso, que van desde 20%-25.0% o un poco más allá de esto.

$ top 
Uso de la CPU del acelerador en Linux

Nota: El shell se vuelve no interactivo: no espera ninguna entrada del usuario cuando CPulimit se ejecuta. Para matarlo (que debe detener la operación de limitación de uso de la CPU), presione [Ctrl + C].

Para ejecutar cpulimit como un proceso de fondo, use el --fondo o -b cambiar, liberando la terminal.

$ sudo cpulimit - -pid 17918 --limit 20 -background 

Para especificar el número de núcleos de CPU presentes en el sistema, use el --UPC o -C Bandera (esto normalmente se detecta automáticamente).

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

En lugar de limitar el uso de la CPU de un proceso, podemos matarlo con el --matar o -k opción. La señal de valor predeterminada es enviada al proceso es Sigcont, Pero para enviar una señal diferente, use el --señal o -s bandera.

$ sudo cpulimit - -Pid 17918 --limit 20 -Kill 

Salir si no hay un proceso objetivo adecuado, o en caso de que muera, incluya el -z o --perezoso como esto.

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

Para obtener información adicional y opciones de uso, vea la página del hombre CPULIMIT.

$ hombre cpulimit 

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

  1. Encuentre los procesos de ejecución superior por el uso de memoria y CPU más alto en Linux
  2. CPUSTAT - Monitorea la utilización de la CPU mediante la ejecución de procesos en Linux
  3. COREFREQ: una potente herramienta de monitoreo de CPU para sistemas Linux
  4. Encuentre los procesos de ejecución superior por el uso de memoria y CPU más alto en Linux
  5. 20 Herramientas de línea de comando para monitorear el rendimiento de Linux
  6. 13 Herramientas de monitoreo de rendimiento de Linux - Parte 2

En comparación, después de probar CPUTOOL y Cpulimit, Notamos que el primero ofrece una funcionalidad de "limitación de uso de la CPU de procesos" más efectiva y confiable.

Esto está de acuerdo con el rango porcentual de uso de la CPU observado después de ejecutar ambas herramientas contra un proceso dado. Pruebe ambas herramientas y agregue sus pensamientos a este artículo utilizando el formulario de comentarios a continuación.