chrt — manipulate the real-time attributes of a process

Synopsis

chrt [options] priority command [argument...]
chrt [options] -p [prioritypid

Description

chrt sets or retrieves the real-time scheduling attributes of an existing pid, or runs command with the given attributes.

Policies

-o, --other

Set scheduling policy to SCHED_OTHER. This is the default Linux scheduling policy.

-f, --fifo

Set scheduling policy to SCHED_FIFO.

-r, --rr

Set scheduling policy to SCHED_RR. When no policy is defined, the SCHED_RR is used as the default.

-b, --batch

Set scheduling policy to SCHED_BATCH (Linux-specific, supported since 2.6.16).  The priority argument has to be set to zero.

-i, --idle

Set scheduling policy to SCHED_IDLE (Linux-specific, supported since 2.6.23).  The priority argument has to be set to zero.

-d--deadline

Set scheduling policy to SCHED_DEADLINE (Linux-specific, supported since 3.14).  The priority argument has to 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.

Scheduling Options

-T, --sched-runtime nanoseconds

Specifies runtime parameter for SCHED_DEADLINE policy (Linux-specific).

-P, --sched-period nanoseconds

Specifies period parameter for SCHED_DEADLINE policy (Linux-specific).

-D, --sched-deadline nanoseconds

Specifies deadline parameter for SCHED_DEADLINE policy (Linux-specific).

-R, --reset-on-fork

Add SCHED_RESET_ON_FORK flag to the SCHED_FIFO or SCHED_RR scheduling policy (Linux-specific, supported since 2.6.31).

Options

-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.

-V--version

Display version information and exit.

-h--help

Display help text and exit.

Usage

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 -p pid

Or set them:

chrt -r -p priority pid

Permissions

A user must possess CAP_SYS_NICE to change the scheduling attributes of a process.  Any user can retrieve the scheduling information.

Notes

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.

See Also

nice(1), renice(1), taskset(1), sched(7)

See sched_setscheduler(2) for a description of the Linux scheduling scheme.

Authors

Robert Love
Karel Zak

Availability

The chrt command is part of the util-linux package and is available from https://www.kernel.org/pub/linux/utils/util-linux/.

Referenced By

pchrt(1), sched(7), sched_setattr(2), sched_setscheduler(2), spausedd(8), taskset(1).

January 2016 util-linux