CFQ I/O disk elevator incorporates a tool called ionice which encourages the director to dole out needs on a process cycle level to accelerate or to confine the disk subsystem use of a particular cycle. For instance in the event that you need to run a rsync order or content to reinforce your documents either locally or distantly use ionice alone with the rsync language structure to accelerate or confine the rsync cycle.
Note: ionice is stuffed with util-Linux rpm.
Uses of ionice command in Linux:
- IDLE: A cycle with the allotted I/O need inactive may be conceded admittance to the disk subsystems if no different cycles with a need for best-exertion or higher solicitation admittance to information. Extremely helpful to run assignments suck as updatedb.
- BEST-EFFORT: As a default, all cycles that don’t demand a particular I/O need are appointed to this class. Cycles will acquire 8 degrees of the need of their particular CPU decent level to the I/O needs a class.
- Constant: The most noteworthy accessible I/O need is contiguous implying that the individual cycle will consistently be given need admittance to the disk subsystem. The continuous need setting can likewise acknowledge 8 need levels.
ionice -c scheduling_class -n priority_nice_value command
The ionice device acknowledges the accompanying alternatives:
|-c, –class class||Determine the name or number of the scheduling class to utilize; 0 for none, 1 for real-time, 2 for best-exertion, 3 for inactive.|
|-n, –classdata level||Determine the scheduling of class information. This possibly has an impact if the class acknowledges a contention. For constant and best-exertion, 0-7 are legitimate information (need levels), and 0 speaks to the most noteworthy need level.|
|-p, –pid PID…||Indicate the cycle IDs of running cycles for which to get or set the scheduling boundaries.|
|-P, –pgid PGID…||Indicate the cycle bunch IDs of running cycles for which to get or set the scheduling boundaries.|
|-t, –ignore||Overlook the inability to set the mentioned need. On the off chance that an order was determined, run it even in the event that it was unrealistic to set the ideal scheduling need, which can occur because of deficient benefits or an old piece form.|
|-h, –help||Show help text and exit.|
|-u, –uid UID…||Indicate the client IDs of running cycles for which to get or set the scheduling boundaries.|
|-V, –version||Show variant data and exit.|
Working with ionice command
1. To set a process, say having PID as 1 to be an idle I/O process.
sudo ionice -c 3 -p 1
Here, the “sudo” prefix is used as without it, the operation would not be permitted due to privileges.
2. To run ‘bash’ or any other program as a best-effort program.
ionice -c 2 bash
Here, the bash program would be executed with the scheduling class to be as best-exertion.
3. To run a program with scheduling class, and the priority level.
sudo ionice -c 1 -n 0 bash
After, the execution of the above command, the user will be logged in as the superuser. Here, the “0” specifies the highest priority.
4. To print the class and priority of the processes have the PID’s like 1 and 2.
ionice -p 1 2
Here, the priorities of the processes with PID 1 and 2 are both idle.
5. To get the IDs of the running processes.
sudo ionice -u 1
Here, the above command will show an error as the process with PID as 1 is listed as an idle process.
6. To get the help text related to the command.
7. To show the ionice’s version and the metadata.
8. To overlook the inability related to the process.
sudo ionice -t
After the execution of the above command, the failures will be ignored.
Note; Linux supports I/O scheduling priorities and classes since 2.6.13 with the CFQ I/O scheduler.
- 'IPCS' command in Linux with examples
- select command in Linux with examples
- Sed Command in Linux/Unix with examples
- ZIP command in Linux with examples
- SORT command in Linux/Unix with examples
- Cat command in Linux with examples
- Head command in Linux with examples
- Tail command in Linux with examples
- wc command in Linux with examples
- tar command in Linux with examples
- atrm command in Linux with examples
- bc command in Linux with examples
- AWK command in Unix/Linux with examples
- tr command in Unix/Linux with examples
- mv command in Linux with examples
- Paste command in Linux with examples
- comm command in Linux with examples
- cmp Command in Linux with examples
- cut command in Linux with examples
- cp command in Linux with examples
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.