GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de comandos agradable y renice de Linux (7 ejemplos)

El poder de la línea de comandos de Linux se puede medir por el hecho de que incluso puede ajustar fácilmente la prioridad de programación de los procesos utilizando herramientas de línea de comandos. Sí, eso es posible, y en este tutorial discutiremos cómo hacerlo usando nice y Renice utilidades.

Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos de este artículo se probaron en un sistema Ubuntu 16.04LTS.

Linux nice y renice commands

Mientras que el comando nice le permite ejecutar un programa/proceso con prioridad de programación modificada, el comando renice le permite cambiar la prioridad de programación de un proceso que ya se está ejecutando. La siguiente es la sintaxis genérica para ambos comandos:

nice [OPTION] [COMMAND [ARG]...]
renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

Esto es lo que sus respectivas páginas man tienen que decir sobre ellos:

Nice: 
Run COMMAND with an adjusted niceness, which affects process schedul?
ing. With no COMMAND, print the current niceness. Niceness values
range from -20 (most favorable to the process) to 19 (least favorable
to the process).
Renice:
Renice alters the scheduling priority of one or more running processes.
The following who parameters are interpreted as process ID's, process
group ID's, or user names. Renice'ing a process group causes all pro?
cesses in the process group to have their scheduling priority altered.
Renice'ing a user causes all processes owned by the user to have their
scheduling priority altered. By default, the processes to be affected
are specified by their process ID's.

Los siguientes son algunos ejemplos de preguntas y respuestas que le darán una mejor idea de cómo funcionan estas herramientas.

P1. ¿Cómo verificar la amabilidad de los programas/procesos en ejecución?

Sí, primero se debe saber cómo verificar la prioridad de programación existente antes de cambiarla. Si se trata del proceso que está a punto de ejecutar, debe saber que la prioridad de programación predeterminada siempre es 0.

Por ejemplo, ejecutamos el siguiente proceso:

./test-new

Y confirmó la prioridad usando el siguiente comando:

ps -lu himanshu | grep test-new

Aquí, 'himanshu' es el usuario propietario del proceso 'test-new'. El siguiente es el resultado que produjo el comando anterior:

0 S  1000  6306  6125  0  80   0 -   508 hrtime pts/18   00:00:00 test-new

El valor de la octava columna es el valor correcto y, como puede ver, es cero.

P2. ¿Qué tan bueno funciona el comando?

Entonces, ahora que vamos al grano, ¿cómo funciona el comando agradable? Es fácil:solo use la herramienta de la siguiente manera:

nice -PRIORITY COMMAND

Por ejemplo, si quiero que la prioridad de programación sea 10, así es como puedo hacerlo:

nice -10 ./test-new

A continuación se muestra la salida del comando ps en este caso, lo que confirma que la prioridad se ha cambiado a 10.

0 S  1000  6694  6125  0  90  10 -   508 hrtime pts/18   00:00:00 test-new

P3. ¿Cómo hacer un buen trabajo con valores negativos?

Como ya se mencionó al principio, los valores de amabilidad oscilan entre -20 y 19, siendo el primero el más favorable y el segundo el menos. En caso de que desee asociar un valor agradable negativo al proceso, deberá usar doble guión.

Por ejemplo, 

sudo nice --10 ./test-new

Tenga en cuenta que debe tener privilegios de root para asociar un valor Niza negativo a un proceso. Y precisamente por esta razón, su comando ps para confirmar la nueva amabilidad debe contener 'root' en lugar del otro nombre de usuario.

$ ps -lu root | grep test-new

Aquí está el resultado que produjo este comando en nuestro caso:

4 S 0 7054 7053 0 70 -10 - 508 - pts/18 00:00:00 test-new

Entonces puede ver que el proceso ahora se está ejecutando con un buen valor de -10.

P4. ¿Cómo agregar un valor entero fijo a la amabilidad?

Puede ajustar el valor agradable usando la opción de línea de comando -n, que agrega un valor entero establecido a la bondad. De forma predeterminada, este valor establecido es 10, aunque también puede pasar un valor diferente.

-n, --adjustment=N

Por ejemplo:

nice --adjustment=5 ./test-new

Y aquí está el resultado, el comando ps producido en este caso:

0 S 1000 7314 6125 0 85 5 - 508 hrtime pts/18 00:00:00 test-new

Entonces puede ver que se estableció una prioridad de 5.

P5. ¿Cómo cambiar la prioridad de los procesos en ejecución?

Mientras que el comando nice se usa al iniciar programas, el comando renice le permite cambiar la prioridad de un proceso en ejecución. Por ejemplo, así es como cambiamos la prioridad del proceso 'test-new' que ya se estaba ejecutando de 5 a 15.

renice -n 15 -p 7314

El argumento -p es para el ID del proceso. El siguiente es el resultado que produjo el comando anterior:

7314 (process ID) old priority 5, new priority 15

Y el buen valor de hecho se cambió a 15.

P6. ¿Cómo cambiar la prioridad de todos los procesos pertenecientes a un grupo?

Puede usar la opción -g para esto. Por ejemplo:

renice -n 20 -g howtoforge

El comando anterior cambiará la prioridad de todos los procesos pertenecientes al grupo 'howtoforge'.

P7. ¿Cómo cambiar la prioridad de todos los procesos pertenecientes a un usuario?

Para cambiar la prioridad de todos los programas asociados a un usuario, utilice la opción -u. Por ejemplo:

renice -n 5 -u himanshu

Por supuesto, un usuario normal de la línea de comandos de Linux generalmente no se encontrará en situaciones en las que se necesiten estas herramientas, pero siempre es bueno tener conocimiento de las herramientas importantes de la línea de comandos, y nice y renice están entre ellas. Lo bueno es que la curva de aprendizaje asociada con ellos no es nada empinada. Ya hemos discutido la mayoría de las opciones aquí. Para obtener más información sobre estas utilidades, diríjase a sus páginas man, aquí y aquí.


Linux
  1. Comando Cat de Linux:uso y ejemplos

  2. Comandos de Linux:descripción general y ejemplos

  3. 7 ejemplos de comandos Linux df

  4. 8 ejemplos de comandos TR de Linux

  5. Ejemplos de comandos sa en Linux

Tutorial de comandos de Linux nm para principiantes (10 ejemplos)

Tutorial de comandos OD de Linux para principiantes (6 ejemplos)

Tutorial de comando Linux w para principiantes (5 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)

Opciones de comando y ejemplos de Tee Command en Linux

Ejemplos de comandos id en Linux