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.