GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo se calcula la prioridad del proceso?

En ps salida de, pri_baz se calcula como pp->priority + 100 y pp->priority es el prio valor del núcleo. Esto se describe como

La prioridad de un proceso va de 0..MAX_PRIO -1, la prioridad RT válida es 0..MAX_RT_PRIO -1 y SCHED_NORMAL /SCHED_BATCH las tareas están en el rango MAX_RT_PRIO ..MAX_PRIO -1. Los valores de prioridad están invertidos:menor p->prio valor significa mayor prioridad.

El MAX_USER_RT_PRIO El valor permite que la prioridad de RT máximo real sea independiente del valor exportado al espacio del usuario. Esto permite que los subprocesos del núcleo establezcan su prioridad en un valor superior al de cualquier tarea del usuario. Nota:MAX_RT_PRIO no debe ser menor que MAX_USER_RT_PRIO .

Entonces, el rango en el kernel cubre 140 valores, de 0 a MAX_PRIO –1 (139).

Sin embargo, la prioridad mínima FIFO y RT es 1, y esto explica el valor faltante:los valores de entrada (al menos, eso se puede configurar desde el espacio de usuario, usando sched_setscheduler ) van de 1 a 99, y el kernel los convierte a prio valores usando la fórmula MAX_RT_PRIO – 1 – prioridad , dando valores de 0 a 98.


Linux
  1. Cómo instalar vtop en Linux

  2. ¿Cómo se calcula el número de marca de tiempo en /etc/shadow?

  3. Cómo establecer la prioridad del proceso de Linux usando los comandos nice y renice

  4. Cómo cambiar la prioridad del proceso usando los ejemplos de Linux Nice y Renice

  5. UNIX / Linux:Cómo cambiar la amabilidad (prioridad) de un proceso

Cómo enumerar los procesos en ejecución en Linux

Cómo matar un proceso en Linux

Cómo cambiar la prioridad de un proceso en Linux

Cómo MATAR un proceso en Linux

¿Cómo identificar el puerto de un proceso?

cómo *iniciar* un proceso con alta prioridad