¿Los procesos infantiles heredan las prioridades de ionice de sus padres? ¿Cómo se verifica la prioridad IO de un proceso en ejecución?


15

Ionice es un comando estándar de Linux que permite establecer la prioridad io para un proceso:

http://linux.die.net/man/1/ionice

¿Los procesos infantiles heredan las prioridades de ionice de sus padres? ¿Cómo se verifica la prioridad io de un proceso en ejecución?

Respuestas:


12

Si. Lo probé La prioridad de E / S se hereda al igual que la simpatía de CPU Esto es probablemente lo que quieres. Si no es así, puede especificar explícitamente la prioridad IO de los procesos secundarios con el comando ionice.


9

Desde la página del manual ( man ionice):

# ionice -p 89 91
Prints the class and priority of the processes with PID 89 and 91.

+1 para ti ya que respondiste la otra mitad de la pregunta.
Ryan C. Thompson el

7

Todos los procesos que se bifurcan heredan la clase io y la prioridad de su padre, sin embargo, un hecho importante a tener en cuenta es que si altera la clase io y / o la prioridad de un proceso en ejecución , no cambia la clase / prioridad io de cualquier proceso hijo actual de ese proceso . Dicho esto, una vez que haya ajustado la clase y / o la prioridad de un proceso en ejecución, los procesos secundarios que se bifurcan en adelante heredarán la nueva clase y prioridad io.


1

Sí y así es como lo probé

Crea dos archivos foo.sh

# ==> foo.sh <==
echo $$
ionice

y nicechange.sh

# ==> nicechange.sh <==
echo $$
echo -n Before change:
ionice

echo Change to best-effort
ionice -c best-effort -p $$

echo After changed
ionice

echo Subprocess
x=$(bash foo.sh)
echo $x

Luego, ejecútalo:

$ bash nicechange.sh 
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.