ionice is io bandwidth priority manipulation command. It supports three scheduling classes.
- idle: In this class given process won't get disk access until no other process is accessing disk for certain period of time.
- best-effort: This is default class.
- realtime: Process with non-realtime classes have to wait until processes with realtime class to complete.
If you want to move some heavy stuff around when io sensitive applications like movie, audio players are active then its best to make a new bash process with idle class.
This is how you apply idle class to a bash process. Open up your terminal and give following command.
sudo ionice -c3 -p`echo $$`
Now what ever you execute in this terminal will inherit idle class and won't disturb your movie/audio players.
You can use ionice to make disk intensive corn jobs to behave well with io sensitive applications that you are using in the foreground.
Some useful ubuntuforums.org threads on ionice. Using ionice with updatedb.