I am monitoring disk I/O usages of an application program (running on CentOS 7)

It uses lots of sequential disk I/Os where I expect that OS prefetching is something!

dstat shows how many disk I/Os are occurring in terms of bytes / sec. It, however, does not differentiate those two.

  • blktrace can track disk I/O requests by user applications. This won't include the readahead on the block device. – Bratchley Jun 15 '16 at 14:25
  • But if your readahead is have a noticeable and beneficial effect, I would expect the total number of IOP/s to go down during load (pre-change vs post-change). That would verify you're heading in the right direction (although it is a bit of a fuzzy measurement) – Bratchley Jun 15 '16 at 14:26

This parameter separates the read/write columns for every device, and you also have the user id at the beginning of the table:

dstat --full

command explaination:

versatile tool for generating system resource statistics
-f, --full
       expand -C, -D, -I, -N and -S discovery lists

The table header for me, with one example line, is like this:

-------cpu0-usage--------------cpu1-usage------ --dsk/fd0-----dsk/sda-- -net/ens160 ---paging-- ---system--
usr sys idl wai hiq siq:usr sys idl wai hiq siq| read  writ: read  writ| recv  send|  in   out | int   csw
  0   0 100   0   0   0:  0   0 100   0   0   0|   0     0 :   0     0 |1504B  690B|   0     0 |  52    73
  • Does it show the i/o for prefetching too? I cannot see – syko Jun 21 '16 at 12:26
  • @syko I think you might need to use other tool to monitor pre-fetching – Eduard Florinescu Jun 21 '16 at 12:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.