Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What is the difference between renice and chrt commands in Linux?

share|improve this question
up vote 2 down vote accepted

chrt(1) is used not only to change the priority of a process, but also the scheduling policy. The scheduling policy can be four:

  • SCHED_FIFO=first in, first out, real time processes.
  • SCHED_RR=round robin real time processes.
  • SCHED_OTHER=normal time sharing
  • SCHED_BATCH=almost the same as the SCHED_OTHER, but the process is considered always the most cpu consuming.

See setscheduler(2).

renice(8) just change the priority of a process.

share|improve this answer
So chrt is "stronger" than renice? Does it make sense to use chrt and renice together? The manpages look cryptic to me, I'd like to read about some use cases to understand the differences. – halp Jul 16 '10 at 6:17
If you want to change the priority of a process, just use nice and renice. If you want to change more in detail a property of a process, use chrt. – Pier Jul 16 '10 at 6:25
There's also SCHED_IDLE. – Ken Sharp Dec 18 '15 at 13:41

Well, I found this on which explains the difference pretty nicely:

"nice" is an historic utility which was used in the early days of batch computing to be "nice" to other users and give up some CPU time. It's still in use and useful and applies only to processes which run with the SCHED_OTHER policy on Linux.

"chrt" is a tool to change scheduling policy (SCHED_OTHER, SCHED_FIFO, SCHED_RR) and the priority of a process/task. With chrt you can either start a process with such a policy or modify an already running process/tasks policy. You need to have the permissions to do that.

So the main difference is that "nice" can only operate within the nice levels of the SCHED_OTHER policy while "chrt" can change the policy and the priority of a process/task.



share|improve this answer
This is definitely the better answer, thanks. You can still set a nice value for processes in policies other than SCHED_OTHER but it shouldn't have an effect. Could be useful if moving processes in and out of scheduler priorities though. There's also SCHED_IDLE. – Ken Sharp Dec 18 '15 at 13:40

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.