хорошо (Unix)
Эта статья нуждается в дополнительных цитатах для проверки . ( ноябрь 2010 г. ) |
Разработчик(и) | AT&T Bell Laboratories |
---|---|
Первоначальный выпуск | ноябрь 1973 г |
Операционная система | Unix и Unix-подобные |
Платформа | Кросс-платформенный |
Тип | Команда |
Лицензия | coreutils : GNU GPL v3 4.4BSD : Лицензия BSD |
nice
— это программа, присутствующая в Unix и Unix-подобных операционных системах, таких как Linux . Он напрямую соответствует ядра . вызову одноименному nice
используется для вызова утилиты или сценария оболочки с определенным приоритетом ЦП , что дает процессу больше или меньше времени ЦП, чем другим процессам. Приятность -20 — это самая низкая вежливость или наивысший приоритет. По умолчанию вежливость процессов наследуется от родительского процесса и обычно равна 0.
Системы разошлись в вопросе о том, какой приоритет является самым низким. Системы Linux документируют уровень 19 как самый низкий приоритет. [1] Системы BSD документируют 20 как самый низкий приоритет. [2] В обоих случаях «самый низкий» приоритет документируется как работающий только тогда, когда этого больше не требуется.
Этимология
[ редактировать ]Значение приятности — это число, присвоенное процессам в системах *nix, которое используется вместе с другими данными (например, объемом операций ввода-вывода , выполняемых каждым процессом) планировщиком процессов ядра для расчета «истинного приоритета» процесса, который используется для определения того, сколько процессорного времени ему будет выделено.
Название программы, nice , является намеком на ее задачу по изменению значения приятности процесса.
Сам термин «приятность» происходит от идеи, что процесс с более высоким значением «приятности» более приятен для других процессов в системе и для пользователей, поскольку требует меньше мощности ЦП — высвобождая время обработки и мощность для более требовательных программ, которые в в этом случае это будет менее благоприятно для системы с точки зрения использования ЦП. [3]
Использование и эффект
[ редактировать ]nice
становится полезным, когда несколько процессов требуют больше ресурсов, чем может предоставить процессор . В этом состоянии процесс с более высоким приоритетом будет получать большую часть процессорного времени, чем процесс с более низким приоритетом. Только суперпользователь (root) может установить более низкое значение вежливости (т.е. более высокий приоритет). В Linux можно изменить /etc/security/limits.conf
чтобы позволить другим пользователям или группам устанавливать низкие приятные значения. [4]
Если пользователь хочет сжать большой файл, не замедляя другие процессы, он может запустить следующее:
$ nice -n 19 tar cvzf archive.tgz largefile
Точный математический эффект установки определенного значения корректности для процесса зависит от деталей того, как планировщик спроектирован в этой реализации Unix. Планировщик конкретной операционной системы также будет иметь различные встроенные эвристики (например, для предпочтения процессов, которые в основном связаны с вводом-выводом, по сравнению с процессами, привязанными к ЦП). В качестве простого примера: когда два в остальном идентичных процесса, связанных с ЦП, выполняются одновременно в однопроцессорной системе Linux, доля процессорного времени каждого из них будет пропорциональна 20 − p , где p — приоритет процесса. Таким образом, процесс, запускаемый с nice +15
, получит 25% процессорного времени, выделенного процессу с нормальным приоритетом: (20 - 15)/(20 - 0) = 0,25. [5] С другой стороны, в планировщике BSD 4.x соотношение в том же примере составляет примерно десять к одному. [ нужна ссылка ]
Похожие команды
[ редактировать ]Соответствующие renice
Программа может использоваться для изменения приоритета уже запущенного процесса. [1]
В Linux также есть ionice
программа, которая влияет на планирование ввода-вывода, а не на время процессора. [6]
См. также
[ редактировать ]- убийство
- пс
- вершина
- ionice из util-linux (см. руководство по приоритетам ввода-вывода дискового хранилища)
Ссылки
[ редактировать ]- ^ Jump up to: а б Linux по основным командам Руководство –
- ^ "renice(8) - Ман-страницы NetBSD" . НетБСД . 22 октября 2020 г. Проверено 18 апреля 2023 г.
- ^ Джерри Пик, Шелли Пауэрс, Тим О'Рейли и Майк Лукидес (2002). Электроинструменты Unix . О'Рейли, с. 507.
- ^ Linux по форматам файлов Руководство –
- ^ Колледж, Авраам Зильбершац, Йельский университет, Питер Баер Галвин, Pluribus Networks , Грег Ганье, Вестминстер; Баер Галвин, Питер; Ганье, Грег (2013). Концепции операционной системы (Девятое изд.). Хобокен, Нью-Джерси: Уайли. п. 294. ИСБН 978-1-118-06333-0 .
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Linux по основным командам Руководство –
Внешние ссылки
[ редактировать ]
- Единая спецификация UNIX , версия 4 от The Open Group : вызвать утилиту с измененным значением nice – Справочник по оболочкам и утилитам,