一般ハードディスクのI/Oスケジューラ

一般ハードディスクのI/Oスケジューラ

カーネルでI / Oスケジューラの最良の選択を見つけることは私にとって難しいことでした。最初はそれが主観的であり、使用するファイルシステムによって異なることを学びました。

No-opSSD(Solid State Drive)を必ず使用してください。

私が知りたいのは、Ext4およびNTFSファイルシステム(MBRスタイル)を含む一般的な(回転)HDDのための最良の選択です。

GPTまたはMBRが選択に影響しますか?

ベストアンサー1

ソリッドステートドライブやSSDについては何もしないでください。

不要。人々がなぜSSDを他のスケジューラの利点を必要としない特別なケースとして扱い続けるのか分からない。回転するディスクがあることは、マージ要求がより重要であることを意味します。マージ要求は、スケジューラが実行する操作の1つにすぎません。

CFQ、締め切りなどはそれ以上の役割を果たします。たとえば、CFQを使用すると、ionice他のプロセスよりも特定のプロセスに優先順位を付けることができ、Deadlineを使用すると待ち時間を保証できます。これらの1つはまだSSDに関連しています。

回転するディスクを削除することは、スケジューラの決定が単に要求をマージするのではなく、ディスクと帯域幅を分割する方法についてさらに決定できることを意味します。

編集する:/sys/block/sdXX/queue/nomergesまた、私のシステムでは(スケジューラに関係なく)調整可能なパラメータを使用してマージをオフにできることも指摘します。 Deadlineは、フロントエンドマージを無効にするための調整可能なパラメータも提供します。

私が知りたいのは、ext4ファイルとNTFSファイルシステムを含む一般的な(回転)ハードドライブのための最良の選択です。 (MBRスタイル)。

スケジューラの選択は、使用しているファイルシステムに完全に依存しない可能性があります。とにかく、ディレクトリと頻繁に使用されるファイルはファイルシステムキャッシュに保存されます。どちらにしても、どのスケジューラにも1つのファイルシステム(XFS、ext3、ext4 + extents、reiserfsなど)を他のものよりも良くする機能を持っていないようです。

NTFSは断片化する傾向があるため、より小さなファイルシステムがより有利である可能性read_ahead_kbがあります。自分に合ったシステムを見つけるには、いくつかの実験をしてください。デフォルトでは、ボリュームがひどく断片化されている場合、隣接するデータを抽出すると、正当な要求に使用できる帯域幅がブロックされる可能性があります。

GPT / MBRはこの決定に全く影響を与えません。

おすすめ記事