The following is a demonstration of the iopattern program,
Here we run iopattern for a few seconds then hit Ctrl-C. There is a "dd"
command running on this system to intentionally create heavy sequential
disk activity,
# iopattern
%RAN %SEQ COUNT MIN MAX AVG KR KW
1 99 465 4096 57344 52992 23916 148
0 100 556 57344 57344 57344 31136 0
0 100 634 57344 57344 57344 35504 0
6 94 554 512 57344 54034 29184 49
0 100 489 57344 57344 57344 27384 0
21 79 568 4096 57344 46188 25576 44
4 96 431 4096 57344 56118 23620 0
^C
In the above output we can see that the disk activity is mostly sequential.
The disks are also pulling around 30 Mb during each sample, with a large
average event size.
The following demonstrates iopattern while running a "find" command to
cause random disk activity,
# iopattern
%RAN %SEQ COUNT MIN MAX AVG KR KW
86 14 400 1024 8192 1543 603 0
81 19 455 1024 8192 1606 714 0
89 11 469 512 8192 1854 550 299
83 17 463 1024 8192 1782 806 0
87 13 394 1024 8192 1551 597 0
85 15 348 512 57344 2835 808 155
91 9 513 512 47616 2812 570 839
76 24 317 512 35840 3755 562 600
^C
In the above output, we can see from the percentages that the disk events
were mostly random. We can also see that the average event size is small -
which makes sense if we are reading through many directory files.
iopattern has options. Here we print timestamps "-v" and measure every 10
seconds,
# iopattern -v 10
TIME %RAN %SEQ COUNT MIN MAX AVG KR KW
2005 Jul 25 20:40:55 97 3 33 512 8192 1163 8 29
2005 Jul 25 20:41:05 0 0 0 0 0 0 0 0
2005 Jul 25 20:41:15 84 16 6 512 11776 5973 22 13
2005 Jul 25 20:41:25 100 0 26 512 8192 1496 8 30
2005 Jul 25 20:41:35 0 0 0 0 0 0 0 0
^C