Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Простейшая инструкция для перехода на планировщик BFQ в Ubuntu 18.04  (Прочитано 5751 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн greg.bul

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
    • Просмотр профиля
Только для тех, кто хочет перейти на современный планировщик и забыть про проблемы с записью не флешки, да и вообще про всякие непонятные тормоза при активной работе с дисками. И, разумеется, только для тех, кто способен  запустить терминал и вставлять в него скопированный текст с помощью Ctrl-Shift-V  :)

Итак, предельно короткая инструкция из 4-х пунктов для включения планировщика bfq в Ubuntu 18.04 (который в системе уже есть, но не активирован):

1. Добавить текст "scsi_mod.use_blk_mq=1" в строку GRUB_CMDLINE_LINUX_DEFAULT в файле /etc/grub/default
Для этого в терминале запустить
sudo gedit /etc/default/grub
отредактировать, и получится что-то типа
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash scsi_mod.use_blk_mq=1"

2. Добавить строку из трех букв "bfq" в конец файла /etc/initramfs-tools/modules
Это можно сделать в том же самом редакторе gedit
sudo gedit /etc/initramfs-tools/modules

Обновлено. По подсказке ALiEN175 это можно сделать проще, без gedit:
echo bfq | sudo tee -a /etc/initramfs-tools/modules
Ещё раз обновлено. Старожилы говорят, что этот пункт вообще не нужен. Попробуйте без него.

3. Выполнить команду
sudo gedit /etc/udev/rules.d/60-scheduler.rules
В открывшемся файле написать:
ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"

4. Обновить grub командой
sudo update-grub

Перезагрузиться и убедиться, что всё работает, с помощью команды
cat /sys/class/block/sda/queue/scheduler
Должно появиться "[bfq] none".
« Последнее редактирование: 14 Декабря 2018, 00:23:20 от greg.bul »

Morisson

  • Гость
scsi_mod.use_blk_mq=1
для включения bfq это не обязательно.
Это включает multi-queue, т.е. для многопоточных систем.

ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*|nvme[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# set scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq-mq"
так лучше)

Morisson

  • Гость
Цитировать
┌─ jeronimo {Linux 4.19.8-zen2-1-zen x86_64} /home/jeronimo [11:14:39]
└─> $ cat /sys/block/sd*/queue/scheduler
[mq-deadline] kyber bfq none
mq-deadline kyber [bfq] none
Так получается в итоге

Оффлайн greg.bul

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
    • Просмотр профиля
Так получается в итоге
Спасибо за дополнение, связанное с SSD.
В вашем расширенном правиле, похоже, опечатка - надо не bfq-mq, а просто bfq.

Если хочется ещё и mq-deadline, то его тоже сначала надо добавить в п.2:

sudo gedit /etc/initramfs-tools/modules
В конец файла, кроме bfq дописать mq-deadline
« Последнее редактирование: 13 Декабря 2018, 11:25:56 от greg.bul »

Morisson

  • Гость
sudo gedit /etc/initramfs-tools/modules
А зачем это? Разве не сработает?

Оффлайн greg.bul

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
    • Просмотр профиля
sudo gedit /etc/initramfs-tools/modules
А зачем это? Разве не сработает?
У меня через sudo echo вылезает "bash: /etc/initramfs-tools/modules: Отказано в доступе". Поэтому делал через gedit.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
greg.bul,
полагаю, дело не в том что работает - не работает, а попросту лишнее. Зачем пихать модуль в initrd, когда и так всё прекрасно работает через правило udev 


(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Простите профана, а разве udev в 18.04 еще не окончательно выпилили? Через systemd разве нельзя что-то подобное намутить?
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Morisson

  • Гость
Должны были выпилить?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
Sly_tom_cat,
(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн greg.bul

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
    • Просмотр профиля
ALiEN175, спасибо за подсказку про tee, исправил п.2.

Morisson

  • Гость
Да не надо пункт 2 вообще

Оффлайн greg.bul

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
    • Просмотр профиля
Да не надо пункт 2 вообще
П.2 ничему не мешает. Может, и не нужен. Пока кто-нибудь не отпишется, что сделал только п. 1,3,4 и всё ок, исправлять инструкцию не буду.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
greg.bul, правда, п.2 не нужен. initrd существует для других целей.

спойлер про судо - это то, как оно должно быть, и почему у вас не сработало. Так сказать, для расширения кругозора  8)

Пользователь добавил сообщение 14 Декабря 2018, 00:35:33:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 14 Декабря 2018, 00:38:01 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.035 секунд. Запросов: 23.