NVME で BFQ を有効にする

広告

phoronix によると、BFQ の性能はほぼ期待以上らしい。さらに CNX Software によれば、最新カーネルで BFQ の性能がさらに向上し、多くの問題も解決されたとのこと。

というわけで、こいつを有効化してみる。

広告

photo_2019-08-15_11-52-24.jpg

まずは現在の scheduler を確認する:

cat /sys/block/sda/queue/scheduler

自分と同じく NVME デバイスなら、こっちを使う:

cat /sys/block/nvme0n1/queue/scheduler

結果はだいたいこうなる:

mq-deadline [none]

では有効化していこう。

Ubuntu Wiki によると、Grub ファイルを編集すれば追加のスケジューラサポートを有効にできる:

vim /etc/default/grub

追記:

scsi_mod.use_blk_mq=1

そして Grub を更新:

sudo update-grub

その後ルールを編集:

vim /etc/udev/rules.d/60-schedulers.rules

追記:

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="deadline"
# set bfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
# set mq-deadline scheduler for non-rotating nvme-disks
ACTION=="add|change", KERNEL=="nvme[0-9]n1", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq"

再起動すれば確認できる:

选区_176.png

TLP を使っているなら、TLP の設定も変更しておいたほうがいい:

vim /etc/default/tlp

参考: NVME Enable BFQ Scheduler at boot?

本家 plumz.me でこの記事にコメントする

コメントは中国語の本家サイトで受け付けています。このミラーは閲覧専用です。

目次