милость и приоритетные процессы в системе Linux

19

Я ищу способ изменить приоритет процесса через командную строку. Я обнаружил встроенный (bash) nice и команду renice , которые позволяют изменять правильность процесса, но не фактический приоритет, который вычисляется ядром.

Есть ли команда, которая позволяет установить приоритет? (Или я путаюсь между милосердием и приоритетом?)

    
задан Hugo 19.04.2011 в 17:09
источник

1 ответ

44

приоритет процесса в linux является динамическим: чем дольше он выполняется, тем ниже будет его приоритет. Процесс выполняется , когда он фактически использует процессор - большинство процессов в типичном Linux-боксе просто ждут ввода-вывода и, таким образом, не считаются работающими .

Приоритет учитывается, когда запущено больше процессов, чем доступно процессорных ядер: выигрывает наивысший приоритет. Но, поскольку процесс победы со временем теряет свою устойчивость, другие процессы в какой-то момент захватывают процессор.

nice и renice будут добавлять / удалять некоторые «точки» из приоритета. Процесс, который имеет более высокое значение nice , получит меньше процессорного времени. Корень также может установить отрицательное значение nice - процесс получает больше процессорного времени.

Пример: в системе два процесса (1 и 2), вычисляющих проблему остановки, и одно ядро ЦП. По умолчанию nice 0 , поэтому оба процесса получают примерно половину процессорного времени каждый. Теперь давайте переименуем процесс 1 в значение 10. Результат: процесс 2 получает значительно большее количество процессорного времени, чем процесс 1.

Примечание. В современных настольных компьютерах достаточно процессорного времени - они быстры в наши дни. К сожалению, жесткие диски все еще относительно медленны при случайном вводе / выводе, поэтому даже хороший процесс может генерировать достаточно трафика ввода / вывода, чтобы значительно замедлить работу системы.

    
ответ дан Turbo J 20.04.2011 в 01:44
  • Очень кратким описанием. –  alee-sindhu 27.11.2012 в 20:30
  • Нет, вы не смущены. В resent Linux есть другие планировщики. @Turbo J описал планировщик по умолчанию / нормальный / транснациональный. Есть и другие планировщики: Normal, Batch, Round-robin, FIFO. А также i / o: Нормальный, простой, лучший, в режиме реального времени. Пакет и простаивание имеют более низкий приоритет, чем обычно, другие выше нормы, будьте очень осторожны с ними (не трогайте их). –  ctrl-alt-delor 25.01.2014 в 15:29
  • Что относительно ионита? –  Geremia 04.06.2016 в 01:10