Table of Contents
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
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
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
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.
- Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux
- Cpustat: supervisa la utilización de la CPU mediante procesos en ejecución en Linux
- CoreFreq: una potente supervisión de la CPU Herramienta para sistemas Linux
- Encuentre los principales procesos en ejecución por mayor uso de memoria y CPU en Linux
- 20 herramientas de línea de comandos para monitorear el rendimiento de Linux
- 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.