Найти в Дзене

Linux. Приоритеты процессов. Команды nice и renice.

В работоспособной системе запущено обычно большое количество процессов. И каждый конкурирует за право использовать центральный процессор. Сейчас, конечно, прогресс не стоит на месте, и появились процессоры способные оперативно обрабатывать все запущенные процессы. Но так было не всегда. В системах Linux есть такое понятие как фактор уступчивости. Это примерно тоже самое, что приоритет, только наоборот. Фактор уступчивости - это значение, по которому ядро определяет свою политику в отношении процессов. Чем выше это значение, тем ниже приоритет процесса и наоборот. Низкое или отрицательное значение свидетельствует о высоком приоритете процесса. Диапазон допустимых значений фактора уступчивости обычно находится в пределах чисел -20 .. +19. Это значение можно увидеть, например, с помощью команды ps lax (говорил об это команде здесь) . За этот фактор отвечает поле NI. Установить фактор уступчивости можно при создании процесса. Для этого существует команда nice. Эта команда принимает в ка

В работоспособной системе запущено обычно большое количество процессов. И каждый конкурирует за право использовать центральный процессор. Сейчас, конечно, прогресс не стоит на месте, и появились процессоры способные оперативно обрабатывать все запущенные процессы. Но так было не всегда.

В системах Linux есть такое понятие как фактор уступчивости. Это примерно тоже самое, что приоритет, только наоборот. Фактор уступчивости - это значение, по которому ядро определяет свою политику в отношении процессов. Чем выше это значение, тем ниже приоритет процесса и наоборот. Низкое или отрицательное значение свидетельствует о высоком приоритете процесса.

Диапазон допустимых значений фактора уступчивости обычно находится в пределах чисел -20 .. +19. Это значение можно увидеть, например, с помощью команды ps lax (говорил об это команде здесь) . За этот фактор отвечает поле NI.

Установить фактор уступчивости можно при создании процесса. Для этого существует команда nice. Эта команда принимает в качестве аргумента строку запуска процесса. Например

$ nice -n 5 ~/bin/process

После вызова этой команды приоритет будет снижен на 5 пунктов. Для того, чтобы изменить фактор уступчивости, применяется команда renice. В целом синтаксис такой же, но в качестве аргумента уже надо использовать идентификатор процесса, либо имя пользователя.

$ renice -5 8829

Задаем фактор уступчивости равным -5 для процесса с PID 8829. Или

$ renice 5 -u user

Устанавливаем фактор уступчивости равный 5 для процессов пользователя "user".

Заключение.

Коротенько пробежался по приоритетам. В целом эти команды, я помню использовал последний раз, лет 15 назад. Сейчас прогресс не стоит на месте и заморачиваться по поводу приоритетов не приходится. Но понимать что и как устроено все же стоит. Тем более в нынешнее не спокойное время.

А пока подписывайтесь на мой канал. И про телеграмм тоже не забываем.