Czy procesy dzieci dziedziczą priorytety jonizacji po rodzicach? Jak sprawdzasz priorytet IO uruchomionego procesu?


15

Ionice to standardowe polecenie linux, które pozwala ustawić priorytet io dla procesu:

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

Czy procesy dzieci dziedziczą priorytety jonizacji po rodzicach? Jak sprawdzasz priorytet io uruchomionego procesu?

Odpowiedzi:


12

Tak. Przetestowałem to. Priorytet we / wy jest dziedziczony tak samo jak licencja procesora. To jest prawdopodobnie to, czego chcesz. Jeśli nie jest, możesz jawnie określić priorytet IO procesów potomnych za pomocą polecenia ionice.


9

Ze strony man ( man ionice):

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

+1 dla ciebie, ponieważ odpowiedziałeś na drugą połowę pytania.
Ryan C. Thompson,

7

Wszelkie rozwidlone procesy dziedziczą klasę io i priorytet ich rodzica, jednak należy pamiętać, że zmiana klasy io i / lub priorytetu uruchomionego procesu nie zmienia klasy io / priorytetu wszelkie bieżące procesy potomne tego procesu . To powiedziawszy, po dostosowaniu klasy i / lub priorytetu uruchomionego procesu, wszelkie procesy potomne rozwidlone w przyszłości odziedziczą nową klasę io priorytet.


1

Tak i tak to przetestowałem

Utwórz dwa pliki foo.sh

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

i 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

Następnie uruchom:

$ bash nicechange.sh 
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.