The iostat utility generates reports on CPU and device usage. For storage, it provides input and output statistics for block devices and partitions. Using the -d option to specify device information only, the iostat command lists the following statistics for each storage device:
- Transfers (I/O requests) per second (tps).
- Number of blocks read per second (kB_read/s).
- Number of blocks written per second (kB_wrtn/s).
- The total number of blocks read (kB_read).
- The total number of blocks written (kB_wrtn).
You can use this report to monitor how a storage drive is being used and to identify any potential bottlenecks. For example, a faulty drive might have lower reads and/or writes per second than expected. You can also use the report to help you decide how to best distribute I/O load between the available devices.
Syntax
The syntax of the iostat command is:
# iostat [options] [device names]
Displaying storage device usage statistics.
iostat Configuration files
- /proc/stat – It contains system statistics.
- /proc/uptime – It contains system uptime.
- /proc/partitions – It contains disk statistics (for pre 2.5 kernels that have been patched).
- /proc/diskstats – It contains disks statistics (for post 2.5 kernels).
- /sys – It contains statistics for block devices (post 2.5 kernels).
- /proc/self/mountstats – It contains statistics for network filesystems.
iostat Command Examples
1. To get the CPU utilization:
# iostat -c 2 10 (With delay of 2 seconds and 10 iterations)
2. To get the device utilization:
# iostat -d # iostat -d 2 10 (With delay of 2 seconds and 10 iterations)
3. To display the human readable NFS IO stats:
# iostat -nh # iostat -n -h 2 10 (With delay of 2 seconds and 10 iterations)
4. To display the stats in kilo bytes instead of bytes/second:
# iostat -k # iostat -k 2 10 (With delay of 2 seconds and 10 iterations)
5. To display the stats in mega bytes instead of bytes/second:
# iostat -m # iostat -m 2 10 (With delay of 2 seconds and 10 iterations)
6. To display the registered device mapper names:
# iostat -N # iostat -N 2 10 (With delay of 2 seconds and 10 iterations)
7. To display the NFS reports:
# iostat -n # iostat -n 2 10 (With delay of 2 seconds and 10 iterations)
8. To display the stats for block devices and their partitions:
# iostat -p # iostat -p 2 10 (With delay of 2 seconds and 10 iterations)
9. To get the time for each report displayed:
# iostat -t # iostat -t 2 10 (With delay of 2 seconds and 10 iterations)
10. To get the version number:
# iostat -V # iostat -V 2 10 (With delay of 2 seconds and 10 iterations)
11. To display the extended statistics:
# iostat -x # iostat -x sda # iostat -x sda 2 5 (With delay of 2 seconds and 10 iterations)
12. To tell iostat to omit the output:
# iostat -z # iostat -z 2 10 (With delay of 2 seconds and 10 iterations)