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.