Top free tools for monitoring disk I/O

I/O problems can manifest as performance issues or service outages. A lot of the time it helps to see what the disk is doing. Here are some nice free commandline tools that can help you to troubleshoot problems.

iostat

iostat reads from the /proc file system to present fairly hum and readable stats on local and networked file systems. By default it will print a summary of I/O activity since the last boot, but with the iostat -d 1 option it can give more of a top-like experience.

iotop

iotop is like top, but only shows disk read and write.

atop

atop is like top in that it does show cpu and mem activity, but with added information for local disks, provided the right kernel models have been installed.

dstat

dstat is a more mature tool than atop and iotop with lots of plugins to measure cpu, mem and disk IO. Running with no options will give you a summary and you can dive into the manual for specific measurements.

ioping

ioping won’t give you any historical information about the performance or load on the disk, but it will run a simple performance check to see if the disk is responding.

Cheat sheet

Check live disk activity quickly: iotop -d

Check which process is the busiest: atop, iotop or dstat

Check disk response: ioping -R

How do Ellexus tools differ?

Both the Breeze and Mistral product suites measure I/O at the application level so you can see what the application does, not just what the disk sees. If multiple applications are hitting the same disk or file system it can be hard to see why and that’s where our tools provide the insight you need. This is particularly the case in HPC or enterprise systems with many networked file systems.

Similarly, for code optimisation it’s better to optimise the I/O patterns of the application instead of what you see on disk as that is very system dependent. An application that behaves well should run well on any system, but you have to know what the application is doing to tune that.