В чем разница между командами renice и chrt в Linux?

В чем разница между командами renice и chrt в Linux?

3 ответа

Решение

chrt(1) используется не только для изменения приоритета процесса, но и для политики планирования. Политика планирования может быть четыре:

  • SCHED_FIFO = первым вошел, первым вышел, процессы в реальном времени.
  • SCHED_RR = циклические процессы в реальном времени.
  • SCHED_OTHER = нормальное время обмена
  • SCHED_BATCH= почти такой же, как SCHED_OTHER, но процесс считается всегда самым трудоемким.

Смотри setscheduler (2).

renice (8) просто изменить приоритет процесса.

Ну, я нашел это на http://www.spinics.net/lists/linux-rt-users/msg03987.html который довольно хорошо объясняет разницу:

"nice" - это историческая утилита, которая использовалась в первые дни пакетных вычислений, чтобы быть "nice" для других пользователей и тратить некоторое время процессора. Он все еще используется и полезен и применяется только к процессам, которые запускаются с политикой SCHED_OTHER в Linux.

"chrt" - это инструмент для изменения политики планирования (SCHED_OTHER, SCHED_FIFO, SCHED_RR) и приоритета процесса / задачи. С помощью chrt вы можете либо запустить процесс с такой политикой, либо изменить уже запущенную политику процесса / задач. Вы должны иметь разрешения для этого.

Таким образом, основное отличие состоит в том, что "nice" может работать только в пределах уровней nice политики SCHED_OTHER, в то время как "chrt" может изменять политику и приоритет процесса / задачи.

...

tglx

В нескольких словах:

renice не оказывает заметного для человека эффекта, а chrt имеет.

Я помню, что renice +19 оказала влияние на SUNOS, но SUN «исправила» это, вероятно, потому, что люди жаловались на это.

Десятилетия назад я жаловался на то, что такая функция недоступна ни в одной UNIX-системе (кроме Windows), и эта идея была отвергнута различными гуру UNIX — UNIX и так идеален.

Основная область применения chrt — запуск процессов с классом планирования простоя. Предполагается, что это позволит запускать неинтерактивные процессы с интенсивным использованием ЦП, не оказывая особого влияния на процессы, работающие с другими (обычными) классами планирования, - это означает, что параллельная сборка не должна вызывать зависания видеоплеера.

Другие вопросы по тегам