Linuxディスクスケジューラを作成して動的に変更できますか/sys/block/sda/queue/scheduler
?変更時にアプリケーション(Mysqlなど)を停止/起動する必要がありますか?
答え1
気にせずにいつでもIOスケジューラを変更できます。トランザクションが失われないように、適切なロックで保護されます。
答え2
はい、可能です。いいえ。アプリケーションを停止/起動する必要はありません。これは、ダウンタイムなしで本番システムで他のシステムを(比較的)安全にテストできるように設計されています。
新しいスケジューラがインストールされるまで進行中のIOが完了することを許可し、新しいIO要求をブロックする「しゃっくり」が発生します。
各ブロックデバイスに異なるIOスケジューラを設定することもできます(カーネルに表示されるように、/ dev / sdaなど)。
答え3
echo deadline > /sys/block/sda/queue/scheduler
たとえば、アプリケーションの先頭に1つを追加し、echo
初期スケジューラを使用して最後にもう1つを追加できます。echo cfq > /sys/block/sda/queue/scheduler
cron
アプリケーションの起動を確認し、それに応じてスケジューラを変更するスクリプトを作成できます。