Почему Ubuntu 16.04 настроил все планировщики ввода-вывода на «крайний срок»?

15

Я только что установил Xubuntu 16.04-64bit во второй раздел на моем ноутбуке. Я заметил, что время от времени казалось немного медленным, поэтому я проверил, какой планировщик ввода-вывода он использовал для этого диска, который, как оказалось, является deadline для всех дисков. У меня есть несколько SSD и жестких дисков, поэтому я знаю, что «крайний срок» лучше всего подходит для SSD и cfq для жестких дисков.

Я загрузился в 14.04 на другой раздел и использует cfq для вращающихся дисков и deadline для SSD, как и должно быть. Я также посмотрел в /etc/udev/rules.d , чтобы узнать, использует ли 14.04 правило для типа диска, но его не было, поэтому я предполагаю, что это делает ядро.

Так что мне интересно, если это ошибка или они используют «крайний срок» для всего сейчас?

Обновление: Комментарий, который я написал о /etc/udev/rules.d, был ошибкой. Фактически, я использовал правило udev для изменения планировщика (как и ответ ниже) в соответствии с типом вращения, так как я начал использовать SSD, несколько лет назад. Наверное, я просто забыл ... старею. Во всяком случае, одна из ссылок, которые я использовал, была Вики-оптимизация Debian SSD .

Не было бы хорошей идеей, если бы она была включена? Просто предложение!

    
задан curt54 08.06.2016 в 13:10
источник

3 ответа

4

С выпуском 14.04 планировщик по умолчанию для ядра 3.13 был изменен от CFQ до конечного срока .

Теперь больше нет отдельного ядра сервера, и планировщик CFQ не подходит для многих сценариев использования сервера, например Тайм-ауты записи KVM . На рабочем столе есть даже регрессии производительности с USB-устройствами .

    
ответ дан NGRhodes 10.06.2016 в 22:59
источник
26

Команда ядра Ubuntu регулярно проводит много анализа различных симулированных рабочих нагрузок для разных файловых систем и планировщиков ввода-вывода, чтобы получить представление о наилучшем универсальном планировщике ввода-вывода. Общий ответ заключается в том, что нет идеального выбора планировщика ввода-вывода для общей конфигурации во всех установках разных типов для всех видов мультимедиа. Важными моментами для запоминания являются:

  1. Системы переходят на SSD, поэтому для них предпочтительнее noop или крайний срок; noop имеет меньше затрат на процессор, чем срок.

  2. CFQ vs Deadline - это сложный вызов. CFQ обеспечивает большую гибкость. Однако мы обнаружили, что для более широкого диапазона имитируемых операций ввода-вывода крайний срок обеспечивал более низкие задержки и немного более высокую пропускную способность, чем CFQ.

  3. Я регулярно тестирую ядра (каждый тест ядра занимает 3 дня) для ряда файловых систем и планировщиков ввода-вывода. Из этого и других разнообразных данных мы пытаемся принять взвешенное решение о наилучшем выборе:

Ссылка

Есть плюсы и минусы для всех планировщиков ввода-вывода, поэтому любой по умолчанию не совершенен, и команда ядра Ubuntu всегда готова внести свой вклад в выбор по умолчанию, если убедительные данные и причины показывают, что мы иначе изменим.     

ответ дан Colin Ian King 08.06.2016 в 15:51
9

Я не знаю, почему разработчики решили выбрать deadline в качестве планировщика по умолчанию, возможно, это потому, что большинство новых компьютеров поставляются с SSD, на котором обычно устанавливаются системы. Вы можете настроить планировщик вручную таким образом, если вы еще не установили его ... install gksu :

Откройте терминал и выполните:

sudo apt install gksu  

Затем выполните следующую команду:

gksudo gedit /etc/udev/rules.d/60-schedulers.rules  

Вставьте следующий текст в пустой файл и сохраните измененный файл.

# set cfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

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

Перезагрузите операционную систему, и теперь вы используете оптимальные планировщики для жестких дисков и твердотельных накопителей.

    
ответ дан cl-netbox 08.06.2016 в 13:27