How do I check whether disk I/O is slowing a Linux server?
Storage performance depends on latency, queueing, request patterns and the device stack. iostat shows interval statistics for visible block devices. Interpret virtual disks, RAID devices and underlying physical devices as different layers, and correlate the measurements with application response time.
Before you start
- sysstat is installed and the application’s data path is known.
Instructions
1. Identify the relevant filesystem and device
Find the storage used by the affected application before interpreting a busy device that may belong to something else.
findmnt -T /var -o TARGET,SOURCE,FSTYPEReplace /var with the actual data path. A database or container volume may live on a separate filesystem.
2. Collect bounded extended statistics
The sysstat package supplies iostat. Compare several intervals rather than using the first report alone, which normally summarises activity since boot.
iostat -xz 1 5Review await, request rates, queue depth and utilisation according to the installed version. A 100% utilisation interpretation differs for parallel devices such as NVMe or RAID.
Check the result
- The affected device’s latency or queueing increases during the symptom and the application’s I/O pattern explains the pressure.
Troubleshooting
- The guest looks idle but storage is slow
- The bottleneck may be in the host, shared storage or provider limits. Compare guest measurements with provider metrics.
- A benchmark is suggested as the first step
- Avoid write-heavy production benchmarks before reviewing workload impact, free space and the target device.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
