Les processus des enfants héritent-ils des priorités ioniques de leurs parents? Comment vérifiez-vous la priorité IO d'un processus en cours?

15

Ionice est une commande linux standard qui permet de définir la priorité io d'un processus:

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

Les processus des enfants héritent-ils des priorités ioniques de leurs parents? Comment vérifiez-vous la priorité io d'un processus en cours?

Peltier
la source

Réponses:

12

Oui. Je l'ai testé. La priorité IO est héritée tout comme la gentillesse du processeur. C'est probablement ce que tu veux. Si ce n'est pas le cas, vous pouvez spécifier explicitement la priorité d'E / S des processus enfants avec la commande ionice.

Ryan C. Thompson
la source
9

Depuis la page de manuel ( man ionice):

# ionice -p 89 91
Prints the class and priority of the processes with PID 89 and 91.
Alvin Row
la source
+1 pour vous puisque vous avez répondu à l'autre moitié de la question.
Ryan C. Thompson,
7

Tous les processus bifurqués héritent de la classe io et de la priorité de leur parent, mais un fait important à garder à l'esprit est que si vous modifiez la classe io et / ou la priorité d'un processus en cours, cela ne change pas la classe / priorité io de tous les processus enfants actuels de ce processus . Cela dit, une fois que vous avez ajusté la classe et / ou la priorité d'un processus en cours d'exécution, tous les processus enfants qui sont bifurqués à l'avenir hériteront de la nouvelle classe io et de la nouvelle priorité.


la source
1

Oui et c'est comme ça que je l'ai testé

Créez deux fichiers foo.sh

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

et 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

Ensuite, exécutez-le:

$ bash nicechange.sh 
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4
HVNSweeting
la source