Ничем и приоритетные процессы в системе Linux

19

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

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

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

1 ответ

43

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

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

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

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

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

    
ответ дан 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