7.2.2.3. Планировщик ввода-вывода

7.2.2.3. Планировщик ввода-вывода

В ядре 2.6 появилась возможность самостоятельно выбирать планировщик ввода-вывода. Всего используется четыре плани-ровщика.

• noop - самый простой планировщик ввода-вывода, практически ничего не умеет, создавался в расчете на использование Flash-диска вместо жесткого диска, поэтому нам такой планировщик не подходит.

• fq - этот планировщик равномерно планирует операции ввода-вывода (получается "местная" очередь). Используется по умолчанию.

• anticipatory (сокращенно as) - этот планировщик будет пытаться угадать следующую инструкцию программы. В этом случай производительность той или иной программы зависит от ее алгоритма, т.е. оттого, угадает ли планировщик следующий "ход" программы.

• deadline - планируются "крайние сроки" выполнения той или иной операции. Больше подходит для сервера, поэтому на рабочих станциям и домашних компьютерах его лучше не использовать.

Итак, сделаем выводы. Планировщики noop и deadline нам не годятся. Остается использовать или планировщик по умолчанию - cfg, или "планировщик-предсказатель". Попробуйте использовать anticipatory: если производительность системы понизится, всегда можно вернуться к cfg.

Выбор планировщика осуществляется путем передачи ядру параметра elevator:

elevatоr=aa (для anticipatory)

или

elevator=cfq

Поскольку cfq используется по умолчанию, то для выбора этого планировщика вообще не нужно указывать параметр elevator.