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]
If you encounter below error while running the iostat command:
iostat: command not found
you may try installing the below package as per your choice of distribution:
Distribution | Command |
---|---|
Debian | apt-get install sysstat |
Ubuntu | apt-get install sysstat |
Alpine | apk add sysstat |
Arch Linux | pacman -S sysstat |
Kali Linux | apt-get install sysstat |
CentOS | yum install sysstat |
Fedora | dnf install sysstat |
Raspbian | apt-get install sysstat |
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)