Хороший (Unix) - Nice (Unix)

отлично
Разработчики)AT&T Bell Laboratories
изначальный выпускНоябрь 1973 г.; 47 лет назад (1973-11)
Операционная системаUnix и Unix-подобный
ТипКоманда
Лицензияcoreutils: GNU GPL v3

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

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

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

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

$ приятно -n 19 tar cvzf archive.tgz большой файл

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

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

Связанные Ренис Программа может использоваться для изменения приоритета уже запущенного процесса.[3]

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

Этимология

Название «хороший» происходит от того факта, что цель программы - изменить значение удобства процесса. Истинный приоритет, используемый для определения того, сколько процессорного времени уступить каждому процессу, рассчитывается планировщиком процессов ядра на основе комбинации значений удобства различных процессов и других данных, таких как количество Ввод / вывод выполняется каждым процессом.

Название «приятность» происходит от идеи, что процесс с более высоким значением «приятности» «лучше» для других процессов в системе:

Вот почему отлично номер обычно называется любезность: работа с высокой степенью полезности очень удобна для пользователей вашей системы (т. е. она выполняется с низким приоритетом), в то время как работа с небольшой степенью полезности использует больше процессора. Термин «любезность» можно считать неудобным. К сожалению, это единственный точный термин (отлично числа используются для вычисления приоритетов, но не сами приоритеты) и позволяет избежать ужасных измышления («увеличение приоритета означает снижение приоритета ...»).[5]

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

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

  1. ^ limits.conf (5) – Linux Форматы файлов Руководство
  2. ^ Колледж, Абрахам Зильбершатц, Йельский университет, Питер Баер Галвин, Pluribus Networks, Грег Ган, Вестминстер; Баер Гэлвин, Питер; Ганье, Грег (2013). Понятия операционной системы (Девятое изд.). Хобокен, штат Нью-Джерси: Wiley. п. 294. ISBN  978-1-118-06333-0.
  3. ^ Ренис (1) – Linux Общие команды Руководство
  4. ^ ionice (1) – Linux Общие команды Руководство
  5. ^ Джерри Пик, Шелли Пауэрс, Тим О'Рейли и Майк Лукидес (2007). Unix Power Tools. О'Рейли, стр. 507.

внешняя ссылка