Cómo limitar el uso de CPU de un proceso en Linux con cpulimit

Articulos tematica Microsoft

Cuando trabaja en un sistema Linux, numerosos procesos se ejecutan en segundo plano. Estos procesos consumen recursos del sistema en forma de uso y tiempo de la CPU.

Si bien en la mayoría de las situaciones, el sistema operativo administra estos procesos automáticamente, a veces un proceso que consume muchos recursos puede sobreutilizar la CPU debido a un procesamiento pesado o un desarrollo deficiente. La respuesta suele ser matar el proceso directamente o limitar el uso de la CPU a un cierto límite.

Afortunadamente en Linux, puede limitar el uso de la CPU de un proceso mediante una utilidad de línea de comandos llamada cpulimit .

Cómo identificar un proceso con un uso elevado de CPU

Antes de poder limitar el porcentaje de recursos del sistema que puede usar un proceso, debe encontrar el ID de ese proceso en particular. Un ID de proceso (o PID) es un número único que su sistema usa para identificar un proceso.

En Linux, hay varias formas de obtener información detallada relacionada con los procesos. Puede usar el comando top para obtener una lista de los procesos que se están ejecutando actualmente en su sistema.

top

La columna % CPU muestra el porcentaje de CPU que está usando el proceso en particular. Si su computadora está tratando de procesar más datos de los que puede, entonces algún proceso específico tendrá un uso de CPU del 100%. Consulte la tabla para ver si hay algún proceso con un uso elevado de la CPU.

Una vez que haya encontrado el proceso con un alto uso de CPU, anote su PID. La identificación del proceso es importante para limitar el uso del proceso.

Limitar el uso de CPU con cpulimit

Como se mencionó anteriormente, cpulimit es una utilidad de línea de comandos que agrega un límite a la cantidad de recursos del sistema utilizados por un proceso específico en su computadora. Dado que la mayoría de las distribuciones de Linux no se envían con cpulimit preinstalado, deberá instalarlo manualmente.

Puede instalar el paquete en Ubuntu y otras distribuciones basadas en Debian de la siguiente manera:

sudo apt install cpulimit

En distribuciones basadas en Arch como Manjaro Linux:

sudo pacman -S cpulimit

Cpulimit está disponible en el repositorio EPEL (Paquetes adicionales para Enterprise Linux). Por lo tanto, para instalarlo en distribuciones CentOS y RHEL, primero deberá habilitar el repositorio EPEL.

yum install epel-release

yum install cpulimit

Sintaxis básica

Para usar cpulimit, deberá pasar uno de los siguientes tres argumentos con el comando:

-p o --pid : el ID de proceso de un proceso

-e o --exe : el nombre del archivo ejecutable

-p o --path : ruta absoluta del archivo ejecutable

La sintaxis básica del comando es:

cpulimit -p pid

cpulimit -e executablename

cpulimit -p /path-to-executable

Limitar el uso de CPU de un proceso

Puede usar el indicador --limit o -l de la utilidad cpulimit para agregar un límite a los recursos que puede usar un proceso. Para forzar que un proceso con PID 81550 use solo el 50% de la CPU:

sudo cpulimit -p 81550 --limit 50

Aquí, cpulimit restringirá el uso de CPU del proceso mientras se esté ejecutando. Si detiene la ejecución de cpulimit, el uso de CPU de ese proceso específico volverá a la normalidad.

Una gran solución para evitar este problema es ejecutar cpulimit en segundo plano. Puede agregar la marca --background o -b con el comando para enviar el comando al fondo .

sudo cpulimit -p 81550 --limit 50 --background

Si la opción --background no funciona, puede agregar un Ampersand ( & ) después del comando para enviarlo al fondo.

sudo cpulimit -p 81550 --limit 50 &

Mata un proceso usando su PID

En lugar de limitar el uso de la CPU, puede cerrar completamente el proceso matándolo con el indicador --kill .

sudo cpulimit -p 81550 --limit 50 --kill

Fecha actualización el 2021-06-03. Fecha publicación el 2021-06-03. Categoría: linux Autor: Oscar olg Mapa del sitio Fuente: makeuseof