4

Я запускаю Debian Live в качестве постоянной системы на 16-Гбайтном диске. Это моя рабочая лошадка на каждый день. Раньше меня мучили постоянные задержки и зависания из-за медленной скорости записи. Я перераспределил диск и выровнял разделы, что привело к значительному увеличению скорости, но мне также интересно узнать, поможет ли изменение планировщика ввода-вывода.

Кажется, есть два кандидата: крайний срок и noop. Эта страница рекомендует крайний срок, и я только что изменился. Вроде бы помогло, но впечатление чисто субъективное. Тем не менее, консенсус в отношении переполнения стека выглядит так, что noop лучше всего подходит для флэш-устройств (см. Здесь и здесь). Но я не могу понять, как планировщик, который ничего не делает, то есть noop, может быть более эффективным.

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

1 ответ1

9

Устройства флэш-памяти должны лучше обрабатываться планировщиком ввода-вывода без операций . Хотя это не окончательный ответ. Продолжай читать.

Механическое устройство (например, жесткий диск) тратит много времени на поиск, нахождение правильного положения на пластине диска для чтения или записи. Это достигается путем перемещения механической головки с ограниченной скоростью. Хотя эта скорость кажется довольно высокой, флэш-устройства этого не требуют, и, следовательно, быстрее по своей конструкции.

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

Вот почему планировщик NOOP превосходит большинство планировщиков для флэш-устройств. Принимая во внимание, что при любой операции ввода-вывода не возникает штраф за поиск, планировщику не нужно делать много. Чем меньше, тем лучше. С очень небольшим количеством циклов ЦП, необходимых для каждой операции ввода / вывода, это также очень экономно расходует заряд аккумулятора.

С другой стороны, DEADLINE может подойти, если вас беспокоит голодание ввода-вывода, в то время как ваша система редко будет перегружена. Планировщик устанавливает крайний срок для каждой операции ввода / вывода, что положительно влияет на задержку. Он использует несколько очередей для хранения операций и сортирует их по сроку. Соблюдая эти сроки, он может гарантировать отсутствие ввода-вывода при нормальной загрузке процессора.

В заключение, нет единого размера, подходящего всем. У каждого планировщика есть свои плюсы и минусы. IMHO, лучшее, что вы можете сделать, это прочитать о Noop, Deadline и SIO и найти, какой из них лучше подходит для вашего сценария. Вы также можете проверить их в течение определенного периода и посмотреть, как они реагируют на ваше ежедневное использование.

В конечном счете, я нашел хороший пост на форуме, который кажется точным и охватывает основные преимущества / недостатки каждого планировщика ввода-вывода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .