ionice - set or get process I/O scheduling class and priority
ionice [-c class] [-n level] [-t] -p PID
ionice [-c class] [-n level] [-t] -P PGID
ionice [-c class] [-n level] [-t] -u UID
ionice [-c class] [-n level] [-t] command [argument] ...
This program sets or gets the I/O scheduling class and priority for a program. If no arguments or just -p is given, ionice will query the current I/O scheduling class and priority for that process.
When command is given, ionice will run this command with the given arguments. If no class is specified, then command will be executed with the "best-effort" scheduling class. The default priority level is 4.
As of this writing, a process can be in one of three scheduling classes:
Note that before kernel 2.6.26 a process that has not asked for an I/O priority formally uses "none" as scheduling class, but the I/O 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 the CFQ I/O scheduler, a process that has not asked for an I/O priority inherits its CPU scheduling class. The I/O priority is derived from the CPU nice level of the process (same as before kernel 2.6.26).
-c, --class class
-n, --classdata level
-p, --pid PID...
-P, --pgid PGID...
-u, --uid UID...
Linux supports I/O scheduling priorities and classes since 2.6.13 with the CFQ I/O scheduler.
Sets process with PID 89 as an idle I/O process.
Runs 'bash' as a best-effort program with highest priority.
Prints the class and priority of the processes with PID 89 and 91.
Jens Axboe <email@example.com>, Karel Zak <firstname.lastname@example.org>
For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.
The ionice 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/>.