В Ubuntu есть ionice
, но, насколько я могу судить, он абсолютно ничего не делает.
Я подозреваю, что это потому, что Ubuntu заменил cfq на крайний срок , а крайний срок не поддерживает приоритеты .
Есть ли какой-нибудь способ сделать более приоритетным ввод-вывод в Ubuntu?
РЕДАКТИРОВАТЬ: Контекст состоит в том, что у меня есть восстановление базы данных, которое легко потребляет все мои операции ввода-вывода и делает мою систему непригодной для использования, пока она не будет завершена. Я бы хотел, чтобы его можно было использовать для других задач.
Вы должны изменить свой планировщик с крайнего срока
на cfq
.
Вы можете сделать это для каждого блочного устройства и непостоянно через
sudo echo cfq > /sys/block/<blockdevice>/queue
Или для всей системы, постоянно через grub
, добавив параметр elevator = cfq
в параметры командной строки grub. .
Это отличный пост , объясняющий, как это можно сделать.
О недостатках такого изменения лучше рассказать в другом месте.
TL; DR равен
Согласно результатам тестирования, каждый планировщик имеет разные преимущества. над другими. Планировщик CFQ подходит для систем, требующих сбалансированный доступ к вводу-выводу и не требует приоритезации процессов. Срок Планировщик имеет лучшую производительность при работе с интенсивным чтением. Нооп это для систем в облаке или гипервизоров. BFQ лучше работает на интерактивные сценарии использования. Noop - самый простой планировщик и считается, что у него есть потенциал для оптимизации новых реализации, нацеленные на блочные SSD-устройства.