ioniceをデッドラインスケジューラで使用できますか?

ioniceをデッドラインスケジューラで使用できますか?

私のDebian Wheezyシステムはdeadlineスケジューラを使用しています。私はディスク集約的な作業が忙しいときにI / Oの優先順位を再割り当てする習慣がありますがionice、これが役に立つと思われました(しかし確実な証拠はありません)。

これioniceマンページカーネル文書そしてこのOpenSUSEドキュメントこれらすべては、cfqスケジューラだけが介入ioniceを考慮していることを示しています。彼らは他のスケジューラがこれを無視するとは明示的には言いませんが、彼らが言及した唯一のことはcfq

特に、他のスケジューラはdeadlineこれを行うことができますかionice

答え1

No.はionice優先順位を指定するメカニズムです。ただしdeadline、優先順位を無視して各 I/O ジョブに有効期限を適用し、有効期限が満たされるまでジョブが成功することを確認してください。

詳細については、ここをクリックしてください。締め切り I/O スケジューラ

デッドラインスケジューラの主な目的は、リクエストのサービス開始時間を確保することです。要求の不足を防ぐために、すべてのI / O操作に期限を適用してこれを行います。ソートキュー(読み取りおよび書き込み)に加えて、2つの期限待ちキューを維持します。デッドラインキューはデフォルトでデッドライン(有効期限)に基づいてソートされますが、ソートキューはセクタ番号に基づいてソートされます。

期限スケジューラは、次の要求を処理する前に使用するキューを決定します。プロセスは通常、読み取り操作をブロックするため、読み取りキューに高い優先順位が与えられます。次に、締め切りスケジューラは、締め切りキューの最初の要求が期限切れであることを確認します。それ以外の場合、スケジューラはソートされたキューの要求バッチを処理します。どちらの場合も、スケジューラはソートされたキューで選択された要求に従ってバッチ要求を処理します。

デフォルトでは、読み取り要求の有効期限は500ミリ秒、書き込み要求の有効期限は5秒です。

関連情報