Содержание
После разговора о могуществе утилиты top я просто обязан рассказать ещё об одной программе, с помощью которой можно изменить приоритет планирования процесса. Таким инструментом является команда renice, которая изменяет приоритет любого выполняющегося процесса.
В каком диапазоне лежит приоритет?
Приоритет планирования представлен числом от -20 до 20, где -20 – наивысший приоритет, 20 – самый низкий. Если взглянуть на результаты вывода утилиты top, то можно увидеть, что приоритет показан в столбце NICE. Обратите внимание, что большинство процессов имеют приоритет 0 (по-умолчанию, средний).
В большинстве случаев нет необходимости менять приоритет. В широких пределах изменить приоритет может только суперпользователь, остальные юзеры могут только понизить уровень приоритета.
Как менять уровень приоритета?
Существует два способа изменить приоритет процесса:
- Из командной оболочки:
# renice <pri> <pID>
где pri – уровень приоритета -20…20, а pID – идентификатор процесса.
# renice 10 23083
эта команда изменит приоритет процесса с pID = 23083 до уровня 10. - Интерактивно из утилиты top:
Для этого запускаем утилиту top и нажимаем клавишу <R>. Нам будет предложено ввести уровень приоритета и pID процесса, аналогично вводу в режиме команд.
Для чего применяется изменение приоритета?
Ну как вариант – если наш сервер начал работать нестабильно из-за не очень хорошо написанного приложения, но завершать его нам не нужно, можно просто понизить его приоритет, что должно несколько уравновесить общую ситуацию и не позволит этому злополучному процессу захватывать всё процессорное время.
Команда nice
Команда nice является как программой (/usr/bin), так и встроенной командой оболочки в csh/tcsh, позволяет установить приоритет запускаемого процесса.
Например, нам нужно запустить нашу программу из предыдущего примера с пониженным приоритетом:
# /usr/bin/nice -10 ./cicle.exe
запустит наш скрипт с приоритетом 10. Если нужно задавать повышенный приоритет, то знак “-” удваивается. Например:
# /usr/bin/nice –16 ./cicle.exe
Comments: