Os processos filhos herdam as prioridades de ionícia de seus pais? Como você verifica a prioridade de E / S de um processo em execução?

15

Ionice é um comando linux padrão que permite definir a prioridade io para um processo:

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

Os processos filhos herdam as prioridades de ionícia de seus pais? Como você verifica a prioridade io de um processo em execução?

Peltier
fonte

Respostas:

12

Sim. Eu testei. A prioridade de E / S é herdada da mesma forma que a CPU. Provavelmente é isso que você quer. Caso contrário, você pode especificar explicitamente a prioridade de E / S dos processos filhos com o comando ionice.

Ryan C. Thompson
fonte
9

Na página do manual ( man ionice):

# ionice -p 89 91
Prints the class and priority of the processes with PID 89 and 91.
Alvin Row
fonte
+1 para você desde que você respondeu a outra metade da pergunta.
22139 Ryan C. Thompson
7

Quaisquer processos que são bifurcados herdam a classe io e a prioridade de seus pais, no entanto, um fato importante a ser lembrado é que, se você alterar a classe io e / ou a prioridade de um processo em execução, isso não mudará a classe io / prioridade de quaisquer processos filhos atuais desse processo . Dito isto, depois de ajustar a classe e / ou a prioridade de um processo em execução, qualquer processo filho que seja bifurcado daqui para frente herdará a nova classe e prioridade io.


fonte
1

Sim e é assim que eu testei

Crie dois arquivos foo.sh

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

e 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

Em seguida, execute-o:

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