私たちのシステムには、回転するメカニカルディスクとNVMEストレージの両方があります。 IOスケジューラを削除してIOのCPUオーバーヘッドを減らしたいと思います。 Linux起動コマンドライン、つまりGRUB_CMDLINE_LINUX
ファイルにそれを指定しようとしています/etc/default/grub
。
elevator=noop
メカニカルディスクの場合は、コマンドラインに追加できます。これはnoop
次の値に対応します。/sys/block/sda/queue/scheduler
none
NVMEストレージの場合は、inを代わりに使用します/sys/block/nvme0n1/queue/scheduler
。おそらく(確認できません)起動時に接続すると可能ですelevator=none
。
これは2つの部分からなる質問です。
elevator=none
NVMEストレージに使用されている値は正しいですかGRUB_CMDLINE_LINUX
?- これら2つの値をに指定できますか
GRUB_CMDLINE_LINUX
?
elevator=noop
2番目の項目が正しい場合は、回転ディスクに対して正しく設定されているように見えますが、NVMEコントローラは正常に無視し、elevator=none
NVMEディスクには正しく設定されますが、回転ディスクコントローラは正常に無視します。それ。
答え1
I/Oスケジューラの割り当てグローバル起動時に。
複数の割り当てを使用しても、elevator=[value]
最後の割り当てのみが適用されます。
利用可能な各デバイスのスケジューラを自動/永続的に設定するにはudev
ルール、systemd
提供するまたは、次の構成およびパフォーマンス調整ツールtuned
。
他の質問に対する答えは「はい」です。elevator=none
これは NVME ストレージに使用する正しい値です。