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

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

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

nice -n 19 КОМАНДА

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

ps axl
ps -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:

nice -n 19 ionice -c2 -n7 КОМАНДА

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