iotopとionice -pは、同じプロセスの異なるクラス/優先順位を表示します。

iotopとionice -pは、同じプロセスの異なるクラス/優先順位を表示します。


ionice -c2 -n7 <PID>I / O集中型プロセス(VirtualBox VM)で実行して結果を確認すると、ionice -p <PID>予想される結果が表示されますbest-effort: prio 7

ただし、これによりプロセス全体のディスクI / O全体を監視すると、そのプロセスの値が列にiotop表示されます。これは意味があると思います。PRIObe/4第二東部時間 -金利努力とレベル(優先順位)4、これは平均優先順位であり、予想されません。

ioniceとiotopディスプレイの間に違いがある理由について誰かがコメントできますか?を使用する以外に、特定のプロセスの実際のI / O優先順位を確認する他の方法はありますかionice -p

私が理解する限り、/proc/<pid>/io優先順位ではなく読み書きしたバイト/文字のみが表示されます。iotopなしでI / Oを実行するプロセスを理解する
返品プロセスのIO優先順位を確認するには?リストのみionice -p

完全性のために、これはiotop 0.3.2を含むRHEL 6.7にあり、スケジューラはデフォルトCFQです。

答え1

答えの一部を見つけたようです。デフォルトでは、iotopすべてのプロセスとスレッドが表示されます。私は通常これを実行し、iotop -oI / Oを実行するスレッドとプロセスのみを表示します。表示されたVirtualBoxプロセスは実際にはスレッドであり、PIDを使用してbe/4実行すると予想される内容が正しく表示されます。iotop -p <pid>ionicebe/7

プロセスの1つのスレッドが異なるI / Oクラス/優先順位を持つ理由を理解することは依然として興味深いでしょう。しかし、私のioniceには、-PプロセスグループのI / Oクラス/優先順位を変更するオプションはありません。誰もが解決策/解決策を知っていればいいでしょう。

関連情報