Я не в Ubuntu, але те, що я зробив у Fedora, може допомогти вам.
BFQ - це планувальник blk-mq (механізм чергового блоку вводу-виводу з декількома чергами), тому вам потрібно ввімкнути blk-mq під час завантаження, відредагувати / etc / default / grub-файл та додати scsi_mod.use_blk_mq=1
до свого GRUB_CMDLINE_LINUX
, це мій файл grub, як приклад:
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=false
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="quiet vt.global_cursor_default=0 scsi_mod.use_blk_mq=1"
GRUB_DISABLE_RECOVERY="true"
Після цього ви повинні оновити свою грубку. У Fedora ми маємо використовувати sudo grub2-mkconfig -o /path/to/grub.cfg
, що змінюється залежно від способу завантаження . У Ubuntu ви можете просто запустити:
sudo update-grub
Перезавантажте, і якщо ви отримаєте це:
cat /sys/block/sda/queue/scheduler
[mq-deadline] none
Можливо, ваше ядро було складено з BFQ як модуль , і це може бути і для Kyber.
sudo modprobe bfq
sudo cat /sys/block/sda/queue/scheduler
[mq-deadline] bfq none
Ви можете додати його під час завантаження, додавши /etc/modules-load.d/bfq.conf
файл, що містить bfq
.
Важливо зазначити, що ввімкнення blk_mq унеможливлює використання не blk_mq планувальників, тому ви втратите noop cfq і не mq термін
Очевидно, система планування blk_mq не підтримує прапори елеваторів у grub, замість цього можна використовувати правила udev, бонус за надання більш зернистого контролю.
Створіть, /etc/udev/rules.d/60-scheduler.rules
якщо його не існувало, і додайте:
ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"
Як зазначено тут, якщо потрібно, ви можете розрізняти обертові (жорсткі диски) та неротаційні (SSD) пристрої в правилах udev за допомогою атрибута ATTR{queue/rotational}
. Майте на увазі, що Paolo Valente, розробник BFQ, вказував у LinuxCon Europe, що BFQ може бути кращим вибором, ніж noop
або deadline
планувальники, з точки зору гарантій низької затримки, що дає гарну пораду використовувати його і для SSD-дисків.
Порівняння Паоло: https://www.youtube.com/watch?v=1cjZeaCXIyM&feature=youtu.be
Збережіть його та перезавантажте та запустіть udev rules
:
sudo udevadm control --reload
sudo udevadm trigger