Ioniceは、プロセスのio優先度を設定できる標準のlinuxコマンドです。
http://linux.die.net/man/1/ionice
子プロセスは両親から優先順位を継承しますか?実行中のプロセスのio優先度をどのように確認しますか?
Ioniceは、プロセスのio優先度を設定できる標準のlinuxコマンドです。
http://linux.die.net/man/1/ionice
子プロセスは両親から優先順位を継承しますか?実行中のプロセスのio優先度をどのように確認しますか?
回答:
はい。私はそれをテストしました。IOの優先度は、CPUの良さのように継承されます。これはおそらくあなたが望むものです。そうでない場合は、ioniceコマンドを使用して、子プロセスのIO優先度を明示的に指定できます。
フォークされたプロセスは、親のioクラスと優先度を継承しますが、覚えておくべき重要な事実は、ioクラスおよび/または実行中のプロセスの優先度を変更しても、ioクラス/優先度は変更されないことですそのプロセスの現在の子プロセス。つまり、実行中のプロセスのクラスや優先度を調整すると、今後フォークされる子プロセスは新しいioクラスと優先度を継承します。
はい、これは私がそれをテストした方法です
2つのファイルを作成する foo.sh
# ==> foo.sh <==
echo $$
ionice
そして 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
次に、それを実行します:
$ bash nicechange.sh
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4