子プロセスは両親から優先順位を継承しますか?実行中のプロセスのIO優先度をどのように確認しますか?


15

Ioniceは、プロセスのio優先度を設定できる標準のlinuxコマンドです。

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

子プロセスは両親から優先順位を継承しますか?実行中のプロセスのio優先度をどのように確認しますか?

回答:


12

はい。私はそれをテストしました。IOの優先度は、CPUの良さのように継承されます。これはおそらくあなたが望むものです。そうでない場合は、ioniceコマンドを使用して、子プロセスのIO優先度を明示的に指定できます。



7

フォークされたプロセスは、親のioクラスと優先度を継承しますが、覚えておくべき重要な事実は、ioクラスおよび/または実行中のプロセスの優先度を変更しても、ioクラス/優先度は変更されないことですそのプロセスの現在の子プロセス。つまり、実行中のプロセスのクラスや優先度を調整すると、今後フォークされる子プロセスは新しいioクラスと優先度を継承します。


1

はい、これは私がそれをテストした方法です

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.