ionice
のマニュアルページには
アイドルIO優先度で実行されているプログラムは、他のプログラムが定義された猶予期間中にディスクIOを要求していない場合にのみ、ディスク時間を取得します。
この「猶予期間」はどこで定義されていますか?それは可視化/調整可能ですか(おそらく/ sys経由)?
猶予期間は250ミリ秒です。
http://lkml.indiana.edu/hypermail/linux/kernel/0412.2/1099.html
There is an idle scheduling class, which only runs when nothing else
is using the disk. A grace period is defined for which idle has to
wait before getting disk access when other io has run. This defaults
to 250ms currently.
OSのバージョンまたはディストリビューションを提供していません(もちろん、違いはあります)が、RHEL/CentOS 5 + 6の調整可能ファイルは ここで定義 として fifo_expire_async/sys/block/[device]/queue/iosched/
([デバイス]はsda、sdb、cciss0などです)。