В чем разница между командами 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 — запуск процессов с классом планирования простоя. Предполагается, что это позволит запускать неинтерактивные процессы с интенсивным использованием ЦП, не оказывая особого влияния на процессы, работающие с другими (обычными) классами планирования, - это означает, что параллельная сборка не должна вызывать зависания видеоплеера.