Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒FreeBSD and Nix⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

Centos 7: настроить планировщики ввода/вывода (I/O schedulers)


 

Centos 7: настроить планировщики ввода/вывода (I/O schedulers)


Планировщики ввода/вывода используются для оптимизации чтения/записи на диск


В 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

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru