stringtranslate.com

хорошо (Unix)

nice— это программа, присутствующая в Unix и Unix-подобных операционных системах, таких как Linux . Он напрямую соответствует одноименному вызову ядра . используется для вызова утилиты или сценария оболочки с определенным приоритетом ЦП , что дает процессу больше или меньше времени ЦП, чем другим процессам. Приятность -20 — это самая низкая вежливость или наивысший приоритет. По умолчанию вежливость процессов наследуется от родительского процесса и обычно равна 0.nice

Системы разошлись в вопросе о том, какой приоритет является самым низким. Системы Linux документируют уровень 19 как самый низкий приоритет, [1] системы BSD документируют 20 как самый низкий приоритет. [2] В обоих случаях «самый низкий» приоритет документируется как работающий только тогда, когда ничего больше этого не требует.

Этимология

Значение приятности — это число, присвоенное процессам в системах *nix, которое используется вместе с другими данными (например, объемом операций ввода-вывода , выполняемых каждым процессом) планировщиком процессов ядра для расчета «истинного приоритета» процесса, который используется для определения того, сколько процессорного времени ему будет выделено.

Название программы, nice , является намеком на ее задачу по изменению значения приятности процесса.

Сам термин «приятность» происходит от идеи, что процесс с более высоким значением «приятности» более приятен для других процессов в системе и для пользователей, поскольку требует меньше мощности ЦП — высвобождая время обработки и мощность для более требовательных программ, которые в в этом случае это будет менее благоприятно для системы с точки зрения использования ЦП. [3]

Использование и эффект

niceстановится полезным, когда несколько процессов требуют больше ресурсов, чем может предоставить процессор . В этом состоянии процесс с более высоким приоритетом будет получать большую часть процессорного времени, чем процесс с более низким приоритетом. Только суперпользователь (root) может установить более низкое значение вежливости (т.е. более высокий приоритет). В Linux можно изменить настройки, /etc/security/limits.confчтобы разрешить другим пользователям или группам устанавливать низкие значения nice. [4]

Если пользователь хочет сжать большой файл, не замедляя другие процессы, он может запустить следующее:

$ nice  -n 19 tar cvzf archive.tgz bigfile     

Точный математический эффект установки определенного значения корректности для процесса зависит от деталей того, как планировщик спроектирован в этой реализации Unix. Планировщик конкретной операционной системы также будет иметь различные встроенные эвристики (например, для предпочтения процессов, которые в основном связаны с вводом-выводом, по сравнению с процессами, привязанными к ЦП). В качестве простого примера: когда два в остальном идентичных процесса, связанных с ЦП, выполняются одновременно в однопроцессорной системе Linux, доля процессорного времени каждого из них будет пропорциональна 20 - p , где p — приоритет процесса. Таким образом, процесс, запущенный с помощью nice +15, получит 25% процессорного времени, выделенного процессу с нормальным приоритетом: (20 – 15)/(20 – 0) = 0,25. [5] С другой стороны, в планировщике BSD 4.x соотношение в том же примере составляет примерно десять к одному. [ нужна цитата ]

Похожие команды

Соответствующую reniceпрограмму можно использовать для изменения приоритета уже запущенного процесса. [1]

В Linux также есть ioniceпрограмма, которая влияет на планирование ввода-вывода, а не на время процессора. [6]

Смотрите также

Рекомендации

  1. ^ ab renice(1) -  Руководство по общим командам Linux
  2. ^ "renice(8) - Ман-страницы NetBSD" . НетБСД . 22 октября 2020 г. Проверено 18 апреля 2023 г.
  3. ^ Джерри Пик, Шелли Пауэрс, Тим О'Рейли и Майк Лукидес (2002). Электроинструменты Unix . О'Рейли, с. 507.
  4. ^ limits.conf(5)  -  Руководство по форматам файлов Linux .
  5. ^ Колледж, Авраам Зильбершац, Йельский университет, Питер Баер Гэлвин, Pluribus Networks, Грег Ганье, Вестминстер; Баер Галвин, Питер; Ганье, Грег (2013). Концепции операционной системы (Девятое изд.). Хобокен, Нью-Джерси: Уайли. п. 294. ИСБН 978-1-118-06333-0.{{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  6. ^ ionice(1)  -  Руководство по общим командам Linux.

Внешние ссылки