Linux: How to see live numbers of bytes/second transferred to/from hard drive?

I want to see something for Linux similar to the Perfmon program under Windows. Does such a thing exist that is terminal friendly and not a gui program? Thanks.


iostat is what you're looking for:

   iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.

Calling it like such will get you KB/s every 2 seconds:

$ iostat -k 2

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdb               0.89         2.39         1.72     189644     136436
sda               5.42        31.79        40.89    2519836    3240543

Use iostat. E.g. iostat 2 Will output the io statistics every 2 seconds. Note however that it outputs blocks per second. Typically, a block is 4 KB but might be different depending on the actual block device used.


You might need per-process statistics : iostat (though otherwise really good) doesn't know how to do that, but iotop can.