The iostat
command in Linux is used to monitor system input/output (I/O) statistics for devices and partitions. It provides a snapshot of CPU utilization and I/O activity, including disk utilization, CPU utilization, and I/O wait times. Here's a detailed explanation of how to use iostat
and what information it provides:
To use iostat
, simply open a terminal and type:
iostat
By default, iostat
displays statistics since the last reboot. It outputs statistics for CPU, individual devices (disks), and partitions.
-
CPU Utilization:
us
: Percentage of CPU utilization that occurred while executing at the user level (application).sy
: Percentage of CPU utilization that occurred while executing at the system (kernel) level.id
: Percentage of CPU time that was idle and not executing any tasks.wa
: Percentage of CPU time spent waiting for I/O operations to complete.st
: Percentage of CPU time stolen from a virtual machine.
Example output for CPU:
avg-cpu: %user %nice %system %iowait %steal %idle 11.04 0.05 2.37 0.25 0.00 86.29
-
Device Utilization:
tps
: Number of transfers per second that were issued to the device.kB_read/s
: Amount of data read from the device in kilobytes per second.kB_wrtn/s
: Amount of data written to the device in kilobytes per second.kB_read
: Total number of kilobytes read from the device.kB_wrtn
: Total number of kilobytes written to the device.
Example output for devices:
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.00 0.00 0.00 0 0 sdb 0.00 0.00 0.00 0 0
-
Interval: You can specify the interval in seconds for which
iostat
displays statistics. For example, to refresh every 2 seconds:iostat 2
-
Device Filtering: You can filter output by specific devices or partitions. For example, to monitor only
sda
:iostat -d sda
-
Extended Statistics: Use
-x
option to display extended statistics including average queue length and utilization percentages for each CPU and device:iostat -x
-
Performance Monitoring:
iostat
is valuable for monitoring disk and CPU performance metrics over time, identifying bottlenecks, and troubleshooting performance issues. -
Capacity Planning: Helps in capacity planning by providing insights into disk utilization and throughput, aiding decisions on hardware upgrades or optimizations.
-
Scripting and Automation: Output from
iostat
can be parsed and integrated into scripts or monitoring tools for automated performance monitoring.
iostat
is a versatile command-line tool for monitoring system I/O performance and CPU utilization on Linux systems. Understanding its output and options allows system administrators and users to diagnose performance issues, optimize system resources, and make informed decisions about system maintenance and upgrades.