не могу установить лифт CFQ на Kubuntu 19.04

не могу установить лифт CFQ на Kubuntu 19.04

Вы не можете выбрать планировщик CFQ в Kubuntu 19.04, так как он был удален из ядра 5.0. В моем случае мне нужен CFQ, потому что он дает наилучшую производительность с моим вращающимся жестким диском при запуске виртуальной машины с Windows 10 в качестве гостевой SO, другие планировщики делают систему непригодной для использования. Kubuntu 19.04 в установке по умолчанию предлагает только 2 лифта mq-deadline и ни один из них в моем случае не обеспечивает производительность намного хуже, чем CFQ.

sudo cat/sys/block/sda/queue/scheduler mq-deadline none

Только мне придется попробовать еще 2 планировщика, которые не отображаются в установке по умолчанию, это BFQ и Kyber.

Далее я опишу, как включить модули BFQ и Kyber.

1) Сначала проверьте наличие модулей в системе с помощью следующих команд:

sudo modprobe bfq sudo modprobe kyber-iosched

если ошибок не было, вы можете проверить, что модули загружены с помощью команды

sudo cat/sys/block/sda/queue/scheduler

который должен вернуться

mq-deadline [bfq] kyber none

2) сделать так, чтобы эти модули загружались вместе со стартом системы:

sudo -i echo kyber-iosched > /etc/modules-load.d/kyber-oisched.conf echo bfq > /etc/modules-load.d/bfq.conf

3) Следующий шаг — указать системе, какой планировщик использовать, затем создается файл, если он не существует:

/etc/udev/rules.d/60-scheduler.rules

со следующими строками

# set cfq scheduler 
ACTION=="add|change",KERNEL=="sd[a-z]",ATTR{queue/rotational}=="1",ATTR{queue/scheduler}="bfq"
ACTION=="add|change",KERNEL=="sr[0-9]",ATTR{queue/rotational}=="1",ATTR{queue/scheduler}="bfq"

если вместо BFQ вы хотите попробовать kyber, замените последнее слово в строке, где написано "bfq", на "kyber"

4) заставить систему распознавать изменения

sudo udevadm control --reload; sudo udevadm trigger

и изменения проверяются с помощью

sudo cat/sys/block/sda/queue/scheduler

mq-deadline kyber [bfq] none

Законченный.

Источники:

https://community.chakralinux.org/t/how-to-enable-the-bfq-io-scheduler-on-kernel-4-12/6418

https://unix.stackexchange.com/questions/375600/how-to-enable-and-use-the-bfq-scheduler#376136

решение1

В зависимости от версии ядра CFQ может отсутствовать. Он был удален в версии ядра 5.0. Этосвязанная группа коммитов.

решение2

Ubuntu 19.04 использует ядро ​​5.0, поэтому CFQ и Deadline больше не доступны.

Для большинства рабочих нагрузок, даже на HDD, использование планировщика mq-deadline так же эффективно, как и использование любого из старых планировщиков. Только для рабочих нагрузок с только последовательными чтениями/записями на диске, без каких-либо других помех, старые планировщики быстрее.

решение3

На устаревшем ноутбуке с обычным старым вращающимся жестким диском BFQ имеет существенное значение для отзывчивой системы, пока какая-то другая задача обращается к диску в фоновом режиме. Ранее универсальное ядро ​​Ubuntu использовало cfq:

    $ zgrep IOSCHED /boot/config-*-generic
    ...
    /boot/config-4.13.0-36-generic:CONFIG_DEFAULT_IOSCHED="cfq"

После обновления стандартное ядро ​​Ubuntu удалило CFQ (см. выше), и я обнаружил следующее значение по умолчанию:

    $ cat /sys/block/sda/queue/scheduler
    [mq-deadline] none

неприемлемо из-за экстремальной задержки при наличии фоновой дисковой активности. Я предполагаю, что это гораздо меньшая проблема на современном оборудовании с SDD/NVMe mass storage.

Как говорит ОП, переход на bfq решает проблему задержек.

Марко Гамберони

Связанный контент