blktrace let's you see detailed information about I/O traffic on a disk devices.
You need to have a 2.6.17-rc1 or newer kernel with "Block io tracing" and debugfs enabled in kernel to use blktrace command.
You can download and install blkrace from http://brick.kernel.dk/snaps/ site or if you use ubuntu you can install it with apt-get.
on ubuntu:
$ sudo apt-get install blktrace
blktrace requires debugfs to run. run mount command to see if it's mounted.
If you can't see debugfs in mount command output for example create a directory called /debugfs and mount it by following command as root
# mount -t debugfs none /debugfs
now you can run blkrace command.
blktrace -r /debugfs/ -d /dev/sda -o - | blkparse -i -
default format of blkparse output is as follows (you can change output format if you like with -f option):
by this way you can get detailed information about ongoing disk activity on your system.
Description of Events:
A IO was remapped to a different device
B IO bounced
C IO completion
D IO issued to driver
F IO front merged with request on queue
G Get request
I IO inserted onto request queue
M IO back merged with request on queue
P Plug request
Q IO handled by request queue code
S Sleep request
T Unplug due to timeout
U Unplug request
X Split