.TH ionice "1" "August 2005" ionice
.SH NAME
ionice \- get/set program io scheduling class and priority
.SH SYNOPSIS
.B ionice
.RB [[ \-c
.IR class ]
.RB [ \-n
.IR classdata ]
.RB [ \-t ]]
.BI \-p \ PID
.RI [ PID  ]...
.br
.B ionice
.RB [ \-c
.IR class ]
.RB [ \-n
.IR classdata ]
.RB [ \-t ]
.IR COMMAND\  [ ARG  ]...
.SH DESCRIPTION
This program sets or gets the io scheduling class and priority for a program.
If no arguments or just \fB\-p\fR is given, \fBionice\fR will query the current
io scheduling class and priority for that process.

As of this writing, a process can be in one of three scheduling classes:
.IP "\fBIdle\fP"
A program running with idle io priority will only get disk time when no other
program has asked for disk io for a defined grace period. The impact of idle
io processes on normal system activity should be zero. This scheduling
class does not take a priority argument. Presently, this scheduling class
is permitted for an ordinary user (since kernel 2.6.25).
.IP "\fBBest effort\fP"
This is the effective scheduling class for any process that has not asked for
a specific io priority.
This class takes a priority argument from \fI0-7\fR, with lower
number being higher priority. Programs running at the same best effort
priority are served in a round-robin fashion.

Note that before kernel 2.6.26 a process that has not asked for an io priority
formally uses "\fBnone\fP" as scheduling class, but the io scheduler will treat
such processes as if it were in the best effort class. The priority within the
best effort class will be dynamically derived from the cpu nice level of the
process: io_priority = (cpu_nice + 20) / 5.

For kernels after 2.6.26 with CFQ io scheduler a process that has not asked for
an io priority inherits CPU scheduling class.  The io priority is derived from
the cpu nice level of the process (same as before kernel 2.6.26).

.IP "\fBReal time\fP"
The RT scheduling class is given first access to the disk, regardless of
what else is going on in the system. Thus the RT class needs to be used with
some care, as it can starve other processes. As with the best effort class,
8 priority levels are defined denoting how big a time slice a given process
will receive on each scheduling window. This scheduling class is not
permitted for an ordinary (i.e., non-root) user.
.SH OPTIONS
.IP "\fB-c \fIclass\fP"
The scheduling class. \fI0\fR for none, \fI1\fR for real time, \fI2\fR for
best-effort, \fI3\fR for idle.
.IP "\fB-n \fIclassdata\fP"
The scheduling class data. This defines the class data, if the class
accepts an argument. For real time and best-effort, \fI0-7\fR is valid
data.
.IP "\fB-p \fIpid\fP"
Pass in process PID(s) to view or change already running processes. If this argument
is not given, \fBionice\fP will run the listed program with the given
parameters.
.IP "\fB-t\fP"
Ignore failure to set requested priority. If COMMAND or PID(s) is specified, run it
even in case it was not possible to set desired scheduling priority, what
can happen due to insufficient privilegies or old kernel version.
.SH EXAMPLES
.LP
.TP 7
# \fBionice\fP -c 3 -p 89
.TP 7
Sets process with PID 89 as an idle io process.
.TP 7
# \fBionice\fP -c 2 -n 0 bash
.TP 7
Runs 'bash' as a best-effort program with highest priority.
.TP 7
# \fBionice\fP -p 89 91
.TP 7
Prints the class and priority of the processes with PID 89 and 91.
.SH NOTES
Linux supports io scheduling priorities and classes since 2.6.13 with the CFQ
io scheduler.
.SH AUTHORS
Jens Axboe <jens@axboe.dk>
.SH AVAILABILITY
The ionice command is part of the util-linux-ng package and is available from
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
