nice
это программа, которую можно найти в Unix и Unix-подобных операционных системах, таких как Linux . Он напрямую отображается на одноименный вызов ядра . используется для вызова служебной программы или сценария оболочки с определенным приоритетом ЦП , что дает процессу больше или меньше процессорного времени, чем другим процессам. Изящность -20 - это высший приоритет, а 19 - самый низкий. Удобство по умолчанию для процессов наследуется от родительского процесса и обычно равно 0.nice
Разработчики) | AT&T Bell Laboratories |
---|---|
Первый выпуск | Ноябрь 1973 г . |
Операционная система | Unix и Unix-подобные |
Платформа | Кроссплатформенность |
Тип | Командование |
Лицензия | coreutils : GNU GPL v3 |
Использование и эффект
nice
становится полезным, когда несколько процессов требуют больше ресурсов, чем может предоставить ЦП . В этом состоянии процесс с более высоким приоритетом получит большую часть процессорного времени, чем процесс с более низким приоритетом. Только суперпользователь (root) может установить более низкое значение (т.е. более высокий приоритет). В Linux можно изменить, /etc/security/limits.conf
чтобы разрешить другим пользователям или группам устанавливать низкие значения nice. [1]
Если пользователь хочет сжать большой файл без замедления других процессов, он может запустить следующее:
$ nice -n 19 tar cvzf archive.tgz большой файл
Точный математический эффект установки определенного значения удобства для процесса зависит от деталей того, как планировщик спроектирован для этой реализации Unix. Планировщик конкретной операционной системы также будет иметь различные встроенные эвристики (например, чтобы отдавать предпочтение процессам, которые в основном связаны с вводом-выводом, а не процессам, привязанным к ЦП). В качестве простого примера, когда два идентичных связанных с ЦП процесса одновременно работают в однопроцессорной системе Linux, доля процессорного времени каждого из них будет пропорциональна 20 - p , где p - приоритет процесса. Таким образом, процесс, запущенный с nice +15
, получит 25% процессорного времени, выделенного процессу с нормальным приоритетом: (20-15) / (20-0) = 0,25. [2] В планировщике BSD 4.x, с другой стороны, соотношение в том же примере составляет примерно десять к одному. [ необходима цитата ]
Похожие команды
Связанную renice
программу можно использовать для изменения приоритета уже запущенного процесса. [3]
В Linux также есть ionice
программа, которая влияет на планирование ввода-вывода, а не на процессорное время. [4]
Этимология
Название «хороший» происходит от того факта, что цель программы - изменить значение удобства процесса. Истинный приоритет, используемый для определения того, сколько процессорного времени уступить каждому процессу, рассчитывается планировщиком процессов ядра на основе комбинации значений удобства различных процессов и других данных, таких как количество операций ввода-вывода, выполненных каждым процессом. .
Название «приятность» происходит от идеи, что процесс с более высоким значением «приятности» «лучше» для других процессов в системе:
Вот почему хорошее число обычно называют приятностью : работа с высокой степенью аккуратности очень удобна для пользователей вашей системы (т. Е. Выполняется с низким приоритетом), в то время как работа с небольшой степенью полезности использует больше ресурсов ЦП. Термин «вежливость» можно считать неудобным. К сожалению, это единственный термин, который одновременно является точным ( для вычисления приоритетов используются хорошие числа, но сами приоритеты не являются) и позволяет избежать ужасных переборов («увеличение приоритета означает снижение приоритета ...»). [5]
Смотрите также
- убийство
- пс
- вершина
- ionice от util-linux (см. руководство по приоритетам ввода-вывода дискового хранилища)
Рекомендации
- ^ Руководство по форматам файлов Linux -
- ↑ Колледж, Абрахам Зильбершатц, Йельский университет, Питер Баер Галвин, Pluribus Networks , Грег Гань, Вестминстер; Баер Гэлвин, Питер; Ганье, Грег (2013). Понятия операционной системы (Девятое изд.). Хобокен, Нью-Джерси: Уайли. п. 294. ISBN 978-1-118-06333-0.
- ^ Руководство по основным командам Linux -
- ^ - Руководство по основным командам Linux
- ^ Джерри Пик, Шелли Пауэрс, Тим О'Рейли и Майк Лукидес (2002). Unix Power Tools . О'Рейли, стр. 507.
Внешние ссылки
- : вызвать служебную программу с измененным значением nice - Справочник по командам и служебным программам, Спецификация Single UNIX , Выпуск 7 из Open Group