====== nice и renice. Приоритет выполнения ====== ---- ===== Введение ===== Фактор "уступчивости" — это число, по которому ядро определяет свою политику в отношении процессов, конкурирующих за право доступа к центральному процессору. Чем выше фактор уступчивости, тем ниже приоритет процесса и наоборот, отсюда и название термина. Низкое или отрицательное значение означает использование высокого приоритета: процесс ведет себя не слишком уступчиво. \\ Диапазон допустимых значений фактора уступчивости зависит от используемой системы, и обычно он лежит в пределах **от -20 до +19**. В некоторых системах используется диапазон такого же размера, но со смещением в область неотрицательных чисел (как правило, от 0 до 39). Диапазоны допустимых значений фактора уступчивости, используемые в наших примерах систем, приведены ниже. \\ Если пользователь не предпринимает специальных мер, **дочерний процесс наследует приоритет своего родительского процесса**. **Владелец процесса может увеличить фактор уступчивости, но не может уменьшить его, даже чтобы вернуться к стандартному значению**. Это не позволяет процессам с низким приоритетом порождать высокоприоритетных потомков. Суперпользователь может устанавливать произвольные значения фактора уступчивости. \\ **Фактор уступчивости никак не влияет на подсистемы управления памятью и вводом-выводом**, поэтому даже низкоприоритетный процесс способен монополизировать эти ресурсы или захватить непропорционально большую их часть. ---- ===== nice ===== ==== Синтаксис ==== nice [КЛЮЧ] [КОМАНДА [АРГ]…] ==== Описание ==== Запускает КОМАНДУ с изменённым значением nice, что влияет на приоритет при планировании. Если КОМАНДА не задана, печатает текущее значение nice. Значения nice лежат в диапазоне от -20 (наибольший приоритет) до 19 (наименьший). ==== Параметры ==== ^ Опция ^ Значение ^ | **%%-n, --adjustment=N%%** | увеличить nice на целое число N (по умолчанию 10) | | **%%--help%%** | показать эту справку и выйти | | **%%--version%%** | показать информацию о версии и выйти | ---- ===== renice ===== ==== Синтаксис ==== renice [-n] [-p|--pid] ... renice [-n] -g|--pgrp ... renice [-n] -u|--user ... ==== Описание ==== Позволяет изменить приоритет выполняемого процесса. ==== Параметры ==== ^ Опция ^ Значение ^ | **%%-g, --pgrp %%** | interpret argument as process group ID | | **%%-n, --priority %%** | указать новое значение показателя nice | | **%%-p, --pid %%** | изменить приоритет по ID процессов (по умолчанию) | | **%%-u, --user %%** | изменить приоритет процессов пользователя по его имени или ID | | **%%-h, --help%%** | показать эту справку и выйти | | **%%-V, --version%%** | показать информацию о версии и выйти | ---- ===== Приоритеты в различных версиях команд nice и renice ===== ^ Система ^ Диапазон ^ | **Linux** | -20 - 19 | | **Solaris** | 0 - 39 | | **HP-UX** | 0 - 39 | | **AIX** | -20 - 19 | ---- ===== Примеры использования ===== * Понизить приоритет (увеличить фактор уступчивости) нового процесса на 5: nice -n 5 /usr/bin/gimp * Задать фактор уступчивости равным -5: renice -5 8829 * Задать фактор уступчивости процессов пользователя **username** равным 5: renice 5 -u username