|
NAME | SYNOPSIS | DESCRIPTION | POLICIES | SCHEDULING OPTIONS | OPTIONS | EXAMPLES | PERMISSIONS | NOTES | AUTHORS | SEE ALSO | REPORTING BUGS | AVAILABILITY |
|
|
|
CHRT(1) User Commands CHRT(1)
chrt - manipulate the real-time attributes of a process
chrt [options] priority command [argument...]
chrt [options] --pid [priority] PID
chrt sets or retrieves the real-time scheduling attributes of an
existing PID, or runs command with the given attributes.
-o, --other
Set scheduling policy to SCHED_OTHER (time-sharing
scheduling). This is the default Linux scheduling policy.
Since util-linux v2.42, the priority argument is optional; if
specified, it must be set to zero.
-f, --fifo
Set scheduling policy to SCHED_FIFO (first in-first out).
-r, --rr
Set scheduling policy to SCHED_RR (round-robin scheduling).
When no policy is defined, the SCHED_RR is used as the
default.
-b, --batch
Set scheduling policy to SCHED_BATCH (scheduling batch
processes). Linux-specific, supported since 2.6.16. Since
util-linux v2.42, the priority argument is optional; if
specified, it must be set to zero.
-i, --idle
Set scheduling policy to SCHED_IDLE (scheduling very low
priority jobs). Linux-specific, supported since 2.6.23. Since
util-linux v2.42, the priority argument is optional; if
specified, it must be set to zero.
-d, --deadline
Set scheduling policy to SCHED_DEADLINE (sporadic task model
deadline scheduling). Linux-specific, supported since 3.14.
Since util-linux v2.42, the priority argument is optional; if
specified, it must be set to zero. See also --sched-runtime,
--sched-deadline and --sched-period. The relation between the
options required by the kernel is runtime ⇐ deadline ⇐ period.
chrt copies period to deadline if --sched-deadline is not
specified and deadline to runtime if --sched-runtime is not
specified. It means that at least --sched-period has to be
specified. See sched(7) for more details.
-e, --ext
Set scheduling policy to SCHED_EXT (BPF program-defined
scheduling). Linux-specific, supported since 6.12. Since
util-linux v2.42, the priority argument is optional; if
specified, it must be set to zero.
-T, --sched-runtime nanoseconds
Specifies runtime parameter for SCHED_DEADLINE and custom
slice length for SCHED_OTHER and SCHED_BATCH policies
(Linux-specific). Note that custom slice length via the
runtime parameter is supported since Linux 6.12.
-P, --sched-period nanoseconds
Specifies period parameter for SCHED_DEADLINE policy
(Linux-specific). Note that the kernel’s lower limit is 100
milliseconds.
-D, --sched-deadline nanoseconds
Specifies deadline parameter for SCHED_DEADLINE policy
(Linux-specific).
-R, --reset-on-fork
Use SCHED_RESET_ON_FORK or SCHED_FLAG_RESET_ON_FORK flag.
Linux-specific, supported since 2.6.31.
Each thread has a reset-on-fork scheduling flag. When this
flag is set, children created by fork(2) do not inherit
privileged scheduling policies. After the reset-on-fork flag
has been enabled, it can be reset only if the thread has the
CAP_SYS_NICE capability. This flag is disabled in child
processes created by fork(2).
More precisely, if the reset-on-fork flag is set, the
following rules apply for subsequently created children:
• If the calling thread has a scheduling policy of
SCHED_FIFO or SCHED_RR, the policy is reset to SCHED_OTHER
in child processes.
• If the calling process has a negative nice value, the nice
value is reset to zero in child processes.
-a, --all-tasks
Set or retrieve the scheduling attributes of all the tasks
(threads) for a given PID.
-m, --max
Show minimum and maximum valid priorities, then exit.
-p, --pid
Operate on an existing PID and do not launch a new task.
-v, --verbose
Show status information.
-h, --help
Display help text and exit.
-V, --version
Display version and exit.
The default behavior is to run a new command:
chrt priority command [arguments]
You can also retrieve the real-time attributes of an existing
task:
chrt --pid PID
Or set them:
chrt -r --pid priority PID
This, for example, sets real-time scheduling to priority 30 for
the process PID with the SCHED_RR (round-robin) class:
chrt -r --pid 30 PID
Reset priorities to default for a process:
chrt -o --pid 0 PID
Set a custom slice of 1 ms for a SCHED_OTHER task (priority is
optional for policies other than SCHED_FIFO and SCHED_RR):
chrt -o -T 1000000 --pid PID
See sched(7) for a detailed discussion of the different scheduler
classes and how they interact.
A user must possess CAP_SYS_NICE to change the scheduling
attributes of a process. Any user can retrieve the scheduling
information.
Only SCHED_FIFO, SCHED_OTHER and SCHED_RR are part of POSIX
1003.1b Process Scheduling. The other scheduling attributes may be
ignored on some systems.
Linux' default scheduling policy is SCHED_OTHER.
Robert Love <[email protected]>, Karel Zak <[email protected]>
nice(1), renice(1), taskset(1), sched(7)
See sched_setscheduler(2) for a description of the Linux
scheduling scheme.
For bug reports, use the issue tracker
<https://github.com/util-linux/util-linux/issues>.
The chrt command is part of the util-linux package which can be
downloaded from Linux Kernel Archive
<https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
part of the util-linux (a random collection of Linux utilities)
project. Information about the project can be found at
⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
bug report for this manual page, send it to
[email protected]. This page was obtained from the
project's upstream Git repository
⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
2025-08-11. (At that time, the date of the most recent commit that
was found in the repository was 2025-08-05.) If you discover any
rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page,
or you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a
mail to [email protected]
util-linux 2.42-start-521-ec46 2025-08-09 CHRT(1)
Pages that refer to this page: coresched(1), renice(1), taskset(1), sched_setattr(2), sched_setscheduler(2), sched(7)