Linux
Linux中的renice和chrt命令有什麼區別?
Linux中的renice和chrt命令有什麼區別?
chrt(1) 不僅用於更改程序的優先級,還用於更改調度策略。調度策略可以是四種:
- SCHED_FIFO=先進先出實時程序。
- SCHED_RR=輪詢實時程序。
- SCHED_OTHER=正常分時
- SCHED_BATCH=與 SCHED_OTHER 幾乎相同,但該程序始終被認為是 CPU 消耗最多的程序。
請參閱 setscheduler(2)。
renice(8) 只是改變一個程序的優先級。
好吧,我在http://www.spinics.net/lists/linux-rt-users/msg03987.html上找到了這個,很好地解釋了差異:
“nice”是一個歷史性的實用程序,在批處理計算的早期被用來對其他使用者“nice”並放棄一些 CPU 時間。它仍在使用且有用,僅適用於在 Linux 上使用 SCHED_OTHER 策略執行的程序。
“chrt”是一個改變調度策略(SCHED_OTHER、SCHED_FIFO、SCHED_RR)和程序/任務優先級的工具。使用 chrt,您可以使用此類策略啟動程序或修改已執行的程序/任務策略。您需要擁有執行此操作的權限。
所以主要區別在於“nice”只能在 SCHED_OTHER 策略的 nice 級別內執行,而“chrt”可以更改策略和程序/任務的優先級。
…
tglx