103.6 Modificar la prioridad de ejecución de los procesos

Importancia

3

Descripción

El candidato debe ser capaz de gestionar las prioridades de ejecución de los procesos.

Áreas de conocimiento clave:

  • Conocer la prioridad predeterminada con la que se crea un proceso.

  • Ejecutar un programa con una prioridad mayor o menor de la que tiene de forma predeterminada.

  • Cambiar la prioridad de un proceso en ejecución.

Contenidos

Lanzar un proceso con cierta prioridad o relanzarlo con prioridad.

Para ver el listado de procesos recuerda que podemos usar ps, top or htop. En este caso usaremos:

#Primero crearemos un alias para visualizar los procesos y su prioridad
alias prioridad=ps -ef -o pid,pri,ni,comm

Aquí, el NI indica el "niceness" del proceso. En las salidas top y htop , notará que hay una columna PR y PRI que muestra la prioridad de un proceso.

Esto, por lo tanto, significa que:

  • NI – es el valor de "niceness", que es un concepto de espacio de usuario, mientras que

  • PR o PRI es la prioridad real del proceso, como se ve en el kernel de Linux.

View Linux Processes Nice Values
View Linux Processes Nice Values

Alternativamente, puede usar las utilidades top o htop para ver los valores de nice de los procesos de Linux como se muestra.

Check Linux Process Nice Values using Top Command
using Top Command
Check Linux Process Nice Values using Htop Command
Using Htop Command

El rango de nice (NI) es de -20 a 19 Para calcular la prioridad sigue lo siguiente:

Pero si ve un rt en lugar de un número como se muestra en la captura de pantalla a continuación, básicamente significa que el proceso se está ejecutando bajo prioridad de programación en tiempo real.

Linux rt Process
Linux rt Process

nice

Ejecuta un comando con una prioridad distintas a la de por defecto.

Solo los usuarios root pueden establecer prioridades urgentes (negativos).

renice

Cambia la prioridad de un proceso ejecutándose. Por defecto, no se puede aumentar la urgencia.

Por ejemplo, al ejecutar yo el siguiente comando:

Al lanzar el comando y revisar la prioridad, veré que ahora será de 7, por lo tanto mayor prioridad que el resto.

Puedo ejecutar varias veces el mismo comando con distintas prioridades:

Si ahora quiero que uno de los procesos mediante su PID cambie de prioridad, usaré el comando renice:

Pero si ahora vuelvo a intentarlo:

Siempre podrás bajarle la prioridad pero no aumentarla si no es con autoridad y permisos.

Last updated