Планировщики ввода/вывода используются для оптимизации чтения/записи на диск
В Centos 7 есть три типа планировщиков ввода/вывода
Вывод с сервера двух различных устройств:
more /sys/block/sda/queue/scheduler noop [deadline] cfq
more /sys/block/nvme0n1/queue/scheduler [none] mq-deadline kyber
Noop/[none]:
Noop реализует простой алгоритм планирования FIFO: первым пришел - первым вышел
(с минимальными затратами ресурсов процессора)
Deadline/mq-deadline:
Пытается обеспечить гарантированную задержку для запросов
Особенно подходит, когда операции чтения происходят чаще, чем операции записи
Одна очередь для чтения и одна для записи
Операции ввода-вывода отправляются на основе времени, проведенного в очереди
CFQ (Completely Fair Queuing):
Способствует вводу-выводу, поступающему из процессов в реальном времени
Предугадывает, будет ли приложение выдавать больше запросов ввода-вывода в ближайшем будущем
(вызывая небольшую тенденцию к простоям)
В Centos 7 по умолчанию планировщик ввода/вывода - CFQ для дисков SATA, Deadline для остального
Это потому, что Deadline превосходит CFQ для более быстрого хранения, чем диски SATA
Конфигурация при загрузке
Чтобы определить глобальный планировщик ввода-вывода (пример: cfq) при загрузке, введите:
# grubby --update-kernel=ALL --args="elevator=cfq"
Конфигурация для конкретного диска
Чтобы получить текущую конфигурацию диска (здесь /dev/sda), введите:
# more /sys/block/sda/queue/scheduler noop deadline [cfq]
Чтобы назначить планировщик ввода-вывода (здесь deadline) для конкретного диска:
# echo deadline > /sys/block/sda/queue/scheduler
Примечание: это может быть установлено постоянно через службу rc-local
Выполнение задач во время загрузки использует файл rc.local
Для выполнения задач во время загрузки вы помещаете их в файл /etc/rc.d/rc.local
Затем вы меняете права на выполнение этого файла: chmod u+x /etc/rc.d/rc.local
Помимо разрешения выполнения задач, это активирует новый rc-local сервис Systemd
(для всех будущих загрузок, это похоже на включение systemctl на языке Systemd)
Можете запустить службу rc-local, таким образом, проверить выполнение файла rc.local:
systemctl start rc-local
Чтобы проверить новую конфигурацию, введите:
# more /sys/block/sda/queue/scheduler noop [deadline] cfq
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!