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”是一个历史性的实用工具,在批量计算的早期阶段对其他用户是“好的”,并放弃了一些CPU时间。 它仍然在使用和有用,仅适用于在Linux上使用SCHED_OTHER策略运行的进程。

“chrt”是改变调度策略(SCHED_OTHER,SCHED_FIFO,SCHED_RR)和进程/任务优先级的工具。 使用chrt,您可以使用此策略启动进程,也可以修改已在运行的进程/任务策略。 你需要有权限来做到这一点。

所以主要区别在于“nice”只能在SCHED_OTHER策略的好水平内运行,而“chrt”可以改变策略和进程/任务的优先级。

tglx