Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

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