即時ディスクスケジューラの変更

即時ディスクスケジューラの変更

Linuxディスクスケジューラを作成して動的に変更できますか/sys/block/sda/queue/scheduler?変更時にアプリケーション(Mysqlなど)を停止/起動する必要がありますか?

答え1

気にせずにいつでもIOスケジューラを変更できます。トランザクションが失われないように、適切なロックで保護されます。

答え2

はい、可能です。いいえ。アプリケーションを停止/起動する必要はありません。これは、ダウンタイムなしで本番システムで他のシステムを(比較的)安全にテストできるように設計されています。

新しいスケジューラがインストールされるまで進行中のIOが完了することを許可し、新しいIO要求をブロックする「しゃっくり」が発生します。

各ブロックデバイスに異なるIOスケジューラを設定することもできます(カーネルに表示されるように、/ dev / sdaなど)。

答え3

  1. echo deadline > /sys/block/sda/queue/schedulerたとえば、アプリケーションの先頭に1つを追加し、echo初期スケジューラを使用して最後にもう1つを追加できます。echo cfq > /sys/block/sda/queue/scheduler

  2. cronアプリケーションの起動を確認し、それに応じてスケジューラを変更するスクリプトを作成できます。

関連情報