nice и ionice. Приоритеты процессов

nice — позволяет указывать приоритет выполнения процессором различных задач, диапазон приоритетов -20 до 19, где 19 наименьший, если не указать, то будет стандартный приоритет 0. Удобен например при упаковке данных в архивы, чтобы эта задача не грузила сервер или когда нужно запустить много процессов, распределив нагрузку, которые занимают все процессорное время.




Пример выполнения команды с самым низким приоритетом:




nice -n 19 КОМАНДА




Посмотреть таблицу процессов и их приоритетов можно так (колонка NI):




ps axlps -l




Если таблица большая, можно перенаправить вывод команды в Less и смотреть постранично:




ps axl | less




Чтобы изменить приоритет:




renice -n 19 ПРОЦЕСС(PID)




Проверка значения приоритета по умолчанию (стандартно 0):




nice




ionice — позволяет указать приоритет при операциях ввода/вывода, например чтобы снизить нагрузку на диск. Первым указывается класс от 1 до 3, потом приоритет от 0 до 7, где 7 наименьший.
Классы есть трех видов:
1) Real time — Преимущественный без обращения внимания на другие процессы с указанием приоритетов от 0 до 7.
2) Best Effort — Стандартный с указанием приоритетов от 0 до 7.
3) Idle — При простое без указания приоритетов.




Пример выполнения команды с самым низким приоритетом ввода/вывода:




ionice -c2 -n7 КОМАНДА




Для изменения приоритета:




ionice -c2 -n7 -p ПРОЦЕСС(PID)




Для просмотра установленного приоритета:




ionice -p ПРОЦЕСС(PID)




Можно указать одновременно приоритеты через nice и ionice:




ionice -p ПРОЦЕСС(PID)




Для указания высоких приоритетов например могут понадобится root права, по этому команды нужно выполнять от имени root пользователя либо добавив перед командой sudo.




Источник: https://ixnfo.com/nice-ionice.html



2023-02-16T01:48:36
Утилиты командной строки