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?
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:
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.
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.
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