summaryrefslogtreecommitdiffstats
path: root/schedutils/chrt.1
blob: 166579e2d13b2c0382acc9c1f7c60179599f2527 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
.\" chrt(1) manpage
.\"
.\" Copyright (C) 2004 Robert Love
.\" Copyright (C) 2015 Karel Zak <kzak@redhat.com>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License,
.\" version 2, as published by the Free Software Foundation.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License along
.\" with this program; if not, write to the Free Software Foundation, Inc.,
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
.\"
.TH CHRT 1 "January 2016" "util-linux" "User Commands"
.SH NAME
chrt \- manipulate the real-time attributes of a process
.SH SYNOPSIS
.B chrt
[options]
.IR priority\ command\  [ argument ...]
.br
.B chrt
[options]
.B \-p
.RI [ priority ]\  pid
.SH DESCRIPTION
.PP
.B chrt
sets or retrieves the real-time scheduling attributes of an existing \fIpid\fR,
or runs \fIcommand\fR with the given attributes.

.SH POLICIES
.TP
\fB\-o\fR, \fB\-\-other\fR
Set scheduling policy to
.BR SCHED_OTHER .
This is the default Linux scheduling policy.
.TP
\fB\-f\fR, \fB\-\-fifo\fR
Set scheduling policy to \fBSCHED_FIFO\fR.
.TP
\fB\-r\fR, \fB\-\-rr\fR
Set scheduling policy to
.BR SCHED_RR .
When no policy is defined, the
.B SCHED_RR
is used as the default.
.TP
\fB\-b\fR, \fB\-\-batch\fR
Set scheduling policy to
.B SCHED_BATCH
(Linux-specific, supported since 2.6.16).  The priority argument has to be set to zero.
.TP
\fB\-i\fR, \fB\-\-idle\fR
Set scheduling policy to
.B SCHED_IDLE
(Linux-specific, supported since 2.6.23).  The priority argument has to be set to zero.
.TP
.BR -d ,\  --deadline
Set scheduling policy to
.B SCHED_DEADLINE
(Linux-specific, supported since 3.14).  The priority argument has to be set to zero.
See also \fB\-\-sched\-runtime\fR, \fB\-\-sched\-deadline\fR and
\fB\-\-sched\-period\fR.  The relation between the options required by the kernel is
runtime <= deadline <= period.
.B chrt
copies \fIperiod\fR to \fIdeadline\fR if \fB\-\-sched\-deadline\fR is not specified and
\fIdeadline\fR to \fIruntime\fR if \fB\-\-sched\-runtime\fR is not specified.
It means that at least \fB\-\-sched\-period\fR has to be specified.  See
.BR sched (7)
for more details.

.SH "SCHEDULING OPTIONS"
.TP
\fB\-T\fR, \fB\-\-sched\-runtime\fR \fInanoseconds\fR
Specifies runtime parameter for SCHED_DEADLINE policy (Linux-specific).
.TP
\fB\-P\fR, \fB\-\-sched\-period\fR \fInanoseconds\fR
Specifies period parameter for SCHED_DEADLINE policy (Linux-specific).
.TP
\fB\-D\fR, \fB\-\-sched\-deadline\fR \fInanoseconds\fR
Specifies deadline parameter for SCHED_DEADLINE policy (Linux-specific).
.TP
\fB\-R\fR, \fB\-\-reset-on-fork\fR
Add
.B SCHED_RESET_ON_FORK
flag to the
.B SCHED_FIFO
or
.B SCHED_RR
scheduling policy (Linux-specific, supported since 2.6.31).

.SH OPTIONS
.TP
.BR -a ,\  --all-tasks
Set or retrieve the scheduling attributes of all the tasks (threads) for a
given PID.
.TP
.BR -m ,\  --max
Show minimum and maximum valid priorities, then exit.
.TP
.BR -p ,\  --pid
Operate on an existing PID and do not launch a new task.
.TP
.BR -v ,\  --verbose
Show status information.
.TP
.BR -V ,\  --version
Display version information and exit.
.TP
.BR -h ,\  --help
Display help text and exit.
.SH USAGE
.TP
The default behavior is to run a new command:
.B chrt
.I priority
.IR command\  [ arguments ]
.TP
You can also retrieve the real-time attributes of an existing task:
.B chrt \-p
.I pid
.TP
Or set them:
.B chrt \-r \-p
.I priority pid
.SH PERMISSIONS
A user must possess
.B CAP_SYS_NICE
to change the scheduling attributes of a process.  Any user can retrieve the
scheduling information.

.SH NOTES
Only
.BR SCHED_FIFO ,
.B SCHED_OTHER
and
.B SCHED_RR
are part of POSIX 1003.1b Process Scheduling.  The other scheduling attributes
may be ignored on some systems.
.P
Linux' default scheduling policy is
.BR SCHED_OTHER .
.SH SEE ALSO
.BR nice (1),
.BR renice (1),
.BR taskset (1),
.BR sched (7)
.sp
See
.BR sched_setscheduler (2)
for a description of the Linux scheduling scheme.
.SH AUTHORS
.UR rml@tech9.net
Robert Love
.UE
.br
.UR kzak@redhat.com
Karel Zak
.UE
.SH AVAILABILITY
The chrt command is part of the util-linux package and is available from
https://www.kernel.org/pub/linux/utils/util-linux/.