comunidades

Controlar el uso de la CPU del proceso con nice y cpulimit[Linux].

No importa cuán rápido sea su máquina Linux, siempre habrá algunas tareas que consumen mucho tiempo de CPU. Todo, desde la codificación de vídeo hasta la ejecución de modelos matemáticos, puede hacer que la CPU se ejecute al 100%. Esto está bien si la máquina no está haciendo nada más. Pero si es su escritorio principal o se usa como servidor, entonces ejecutar una tarea que maximice su CPU hará que la máquina sea lenta y difícil de usar. La belleza de un sistema operativo multitarea es que la máquina no se congela, ya que siempre programará el tiempo de la CPU para otras tareas y cosas como el escritorio seguirán funcionando, pero mucho más lentamente. El programador no tiene forma de saber que desea que la tarea intensiva de la CPU se ejecute con una prioridad menor o que limite el tiempo de su CPU. Sin embargo, hay algunas herramientas que se pueden utilizar para controlar el uso de la CPU de proceso para estas tareas hambrientas de recursos.

Para emular una tarea intensiva de CPU, podemos usar una herramienta llamada matho-prime que genera una lista de números primos. Si le pide que genere una lista lo suficientemente grande, maximizará el rendimiento de la CPU mientras está funcionando. Para instalar matho-prime en Ubuntu o en un Pi de frambuesa:

sudo apt-get install mathomatic-primes

Comencemos la tarea y veamos el uso de la CPU:

matho-primes 0 99999999999999> p.txt &

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Esto le dice a matho-primes que genere una lista de primos de cero a nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve! La salida se redirige al archivo p.txt. El ampersand al final le dice a la shell que ejecute el programa en segundo plano, lo que significa que regresará a la línea de comandos inmediatamente después de iniciar la tarea.

Ahora ejecute el comando superior y observe la cantidad de CPU que está siendo utilizada por el generador de números primos.

Controlar el uso de la CPU del proceso con nice y cpulimit[Linux].


Ahora matemos esa tarea y veamos cómo podemos lanzarla con una prioridad menor. Salga de la parte superior presionando q, luego escriba fg para poner los cebos matemáticos en primer plano y luego presione «Ctrl + C» para forzar la salida del programa.

Ahora inicie el programa de nuevo pero al principio del comando agregue la palabra nice:

nice matho-primes 0 999999999999> p.txt &

nice es una herramienta que le dice a Linux que programe esta tarea con una prioridad menor. La amabilidad oscila entre -20 (programación más favorable) y 19 (menos favorable). Por defecto, nice programará la tarea con una precisión de 10. Por defecto, las tareas normales se inician con una precisión de cero. Esto significa que una tarea con una amabilidad de 10 será vista como de menor prioridad y se le darán menos recursos de CPU.

Ahora podemos iniciar un segundo de estos generadores de números primos para emular otras tareas que quieras hacer en tu máquina (como navegar por la web o escribir un documento). Este tendrá una amabilidad normal, ya que el uso del escritorio debe ser una prioridad mayor que la de ejecutar el generador de números primarios.

matho-primes 0 999999999999> p2.txt &

Tenga en cuenta que la salida de este archivo se redirige a p2.txt. La salida desde arriba se verá algo así:

Controlar el uso de la CPU del proceso con nice y cpulimit[Linux].


Como puede ver, el proceso con la mayor amabilidad recibe menos tiempo de CPU. Esto significa que si inicia una tarea intensiva de CPU con nice, no hará que su máquina se sienta lenta ni hará que responda lentamente.

cpulimit

Existe otro comando llamado «cpulimit» que en lugar de cambiar la prioridad de programación, detiene temporalmente un proceso para asegurarse de que no excede el uso deseado de la CPU.

Para instalarlo escriba:

sudo apt-get install cpulimit

Ahora ejecute de nuevo el generador de números primos intensivo de la CPU y anote su número PID usando este comando:

ps | grep matho-prime

La primera columna de la salida es el PID. Ahora limite el uso de la CPU de ese proceso de esta manera:

sudo cpulimit -b -l 50 -p 16299

Donde 16299 es el PID del proceso matho-primes. Una mirada con la parte superior mostrará algo como esto:

Controlar el uso de la CPU del proceso con nice y cpulimit[Linux].


Ir más allá

Hay un comando que acompaña a nice llamado renice que cambiará la amabilidad de un proceso existente. Intentando usar top o ps con grep para obtener el PID de un proceso y usar renice +19 16299 para establecer la prioridad al mínimo posible (donde 16299 es el PID del proceso).

Siéntase libre de añadir en la discusión en el comentario de abajo.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas:

Recomendamos

Relacionado

¿Alguna vez se ha preguntado por qué su equipo Linux está funcionando tan lentamente en estos días? A pesar de la alta velocidad de transmisión y el potente hardware, todavía se tarda una eternidad en ejecutar o procesar servicios o aplicaciones. Su computadora Linux parece ser lenta debido a algunas de las siguientes razones: Muchos servicios innecesarios iniciados o inicializados en el momento d ...

Linux

Si necesita que su ordenador funcione las 24 horas del día, los 7 días de la semana, probablemente le interese saber cuánto tiempo ha estado funcionando su ordenador desde el último arranque. Esto es particularmente importante si está ejecutando un servidor en su ordenador. La fecha de instalación también es útil para averiguar si el sistema está actualizado o no. Importante en esta guía rápida, v ...

Linux

Si ha administrado un servidor Linux anteriormente, estará familiarizado con la pila LAMP (Linux, Apache, MySQL, PHP) comúnmente utilizada. Sin embargo, Apache, MySQL y PHP a veces pueden ser intensivos en recursos y pueden no ser los mejores para su servidor. En este tutorial, vamos a reemplazar todas y cada una de las partes de la pila, excepto Linux, con una alternativa mejor – Nginx, Mar ...

Linux

¿Alguna vez has querido ejecutar un script al iniciar con privilegios de root? Si usted tiene un servidor en casa, o tal vez sólo un escritorio Linux, esto podría haber pasado por su mente. Esto suena dudoso, pero si usted entiende los riesgos, la recompensa por hacer esto puede ser bastante buena. Las razones principales son que no habrá más arranques del servidor, inicio de sesión sobre ssh, int ...

Linux

No hace falta decir que la conservación de la energía de la batería es la tarea más importante cuando está en movimiento con su portátil. Aparte de deshabilitar todos los programas no utilizados apagándolos durante el arranque, una de las mejores maneras de ahorrar energía de la batería es reducir la frecuencia de funcionamiento de su CPU. Cuanto más lenta sea la frecuencia de funcionamiento de la ...

Linux

¿Alguna vez has querido grabar lo que sea que hayas reproducido en tus altavoces directamente en un archivo MP3? De los tres sistemas operativos, Linux es el que tiene el proceso más a prueba de fallos (a través del servidor de sonido Pulse Audio). Este servidor de sonido, aunque inicialmente impopular, es ahora casi universalmente elogiado. De hecho, puede realizar algunas funciones avanzadas y p ...

Linux

Cada usuario de Linux le dirá lo mismo: conozca su ordenador. El mío siempre funciona no porque no haya errores, sino porque sé lo suficiente para identificar sus fuentes cada vez y corregirlas. Y una de las mejores maneras de monitorear su sistema es a través de la línea de comandos. Hay una gran interfaz gráfica de usuario para esto, pero la línea de comandos tiene la ventaja de funcionar en tod ...

Linux

No importa lo bien que cuides de tu ordenador, a veces se bloquea y a menudo tienes que desconectar el enchufe para reiniciar el ordenador. Cuando se producen tales caídas, existe la posibilidad de que su sistema de archivos se dañe o se dañe. Es aconsejable hacer una comprobación regular del sistema de ficheros para asegurarse de que está funcionando correctamente y libre de errores. En Linux (y ...

Linux

No faltan herramientas de gestión de tareas para Linux, pero si está buscando una aplicación de lista de tareas sencilla y sin complicaciones, Pytask sería un buen candidato. Para instalar Pytask en Ubuntu: sudo add-apt-repository ppa:nisshh/pytask-releases sudo apt-get update sudo apt-get install pytask Una vez instalado, vaya a Accesorios -> Pytask . Pytask es realmente fácil de usar. Haga c ...

Linux

La virtualización tiene muchos usos. Puede utilizarlo para probar otro sistema operativo, ejecutar aplicaciones que su sistema operativo no soporta, o incluso mantener servidores virtuales dentro de una o más máquinas virtuales. (máquina virtual basada en el núcleo) es una herramienta de virtualización de Linux que utiliza la virtualización asistida por hardware (también llamada virtualización nat ...