Изменение приоритета команд с помощью nice

Команда nice позволяет запустить другую команду с предопределенным приоритетом выполнения, предоставляя вам, таким образом, возможность задавать приоритет при выполнении своих задач. При обычном запуске, все задачи имеют один и тот же приоритет и ОС равномерно распределяет между ними процессорное время. Однако, с помощью nice вы можете понизить приоритет какой-либо «неспешной» задачи, предоставив тем самым другим задачам больше процессорного времени. Повысить же приоритет той или иной задачи имеет право только администратор.

Синтаксис использования nice следующий:

Nice -смещение command

Уровень приоритета определяется параметром смещение, при этом большее его значение означает меньший приоритет команды. Значение по умолчанию – 10, и смещение представляет собой число, на которое он должен быть уменьшен. Например, если вы запускаете процесс сортировки:

#sort worknew.dat > worknew.srt &

и хотите дать ему преимущество над другим процессом, например, печати, запустите этот второй процесс с уменьшенным приоритетом:

#nice -5 lp mail_list &

Либо, если вы имеете права администратора (в л/р вы их не имеете), то вы можете просто повысить приоритет процесса сортировки, задав ему отрицательное смещение:

#nice -5 sort worknew.dat > worknew.srt &

Самый низкий приоритет будет иметь задача, у которой смещение равно 19, а самый высокий – -20.

Изменение приоритета работающего процесса с помощью renice

Команда renice позволяет изменить приоритет работающего процесса. Формат этой команды следующий:

Renice number PID

Параметр number представляет собой новое смещение процесса не относительно предыдущего. Для изменения приоритета работающего процесса необходимо знать его идентификатор, получить который можно с помощью рассмотренной ранее команды ps, а при выполнении л/р – лучше, просто, запомнить его при запуске команды в фоновый режим.

Пример

Запустим процесс печати на принтере файла sales.dat с пониженным на 2 приоритетом, а затем понизим его ещё на 3:

# nice -2 lp sales.dat &

[1] 5920

Посмотрим, что выдаст нам команда jobs:

# jobs

[1] + Running nice -2 lp sales.dat &

# renice 5 5920


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: