iostat - Report Central Processing Unit (CPU) statistics
and input/output statistics for devices and partitions.
SYNOPSIS
iostat [ -c | -d ] [ -t ] [ -V ] [ -x [ device ] ] [
interval [ count ] ]
DESCRIPTION
The iostat command is used for monitoring system
input/output device loading by observing the time the
devices are active in relation to their average transfer
rates. The iostat command generates reports that can be
used to change system configuration to better balance the
input/output load between physical disks.
The first report generated by the iostat command provides
statistics concerning the time since the system was
booted. Each subsequent report covers the time since the
previous report. All statistics are reported each time the
iostat command is run. The report consists of a CPU header
row followed by a row of CPU statistics. On multiprocessor
systems, CPU statistics are calculated system-wide as
averages among all processors. A device header row is dis
played followed by a line of statistics for each device
that is configured.
The interval parameter specifies the amount of time in
seconds between each report. The first report contains
statistics for the time since system startup (boot). Each
subsequent report contains statistics collected during the
interval since the previous report. The count parameter
can be specified in conjunction with the interval parame
ter. If the count parameter is specified, the value of
count determines the number of reports generated at inter
val seconds apart. If the interval parameter is specified
without the count parameter, the iostat command generates
reports continuously.
REPORTS
The iostat command generates two types of reports, the CPU
Utilization report and the Device Utilization report.
CPU Utilization Report
The first report generated by the iostat command is
the CPU Utilization Report. For multiprocessor sys
tems, the CPU values are global averages among all
processors. The report has the following format:
%user
Show the percentage of CPU utilization that
occurred while executing at the user level
(application).
Show the percentage of CPU utilization that
occurred while executing at the user level
with nice priority.
%sys
Show the percentage of CPU utilization that
occurred while executing at the system level
(kernel).
%idle
Show the percentage of time that the CPU or
CPUs were idle.
Device Utilization Report
The second report generated by the iostat command
is the Device Utilization Report. The device report
provides statistics on a per physical device or
partition basis. The report may show the following
fields, depending on whether -x option is used or
not:
Device:
This column gives the device name, which is
displayed as hdiskn with 2.2 kernels, for
the nth device. It is displayed as devm-n
with newer kernels, where m is the major
number of the device, and n a distinctive
number. When -x option is used, the device
name as listed in the /dev directory is dis
played.
tps
Indicate the number of transfers per second
that were issued to the device. A transfer
is an I/O request to the device. Multiple
logical requests can be combined into a sin
gle I/O request to the device. A transfer is
of indeterminate size.
Blk_read/s
Indicate the amount of data read from the
drive expressed in a number of blocks per
second. A block is of indeterminate size.
Blk_wrtn/s
Indicate the amount of data written to the
drive expressed in a number of blocks per
second. A block is of indeterminate size.
Blk_read
The total number of blocks read.
Blk_wrtn
The total number of blocks written.
The number of read requests merged per sec
ond that were issued to the device.
wrqm/s
The number of write requests merged per sec
ond that were issued to the device.
r/s
The number of read requests that were issued
to the device per second.
w/s
The number of write requests that were
issued to the device per second.
rsec/s
The number of sectors read from the device
per second.
wsec/s
The number of sectors written to the device
per second.
avgrq-sz
The average size (in sectors) of the
requests that were issued to the device.
avgqu-sz
The average queue length of the requests
that were issued to the device.
await
The average time (in milliseconds) for I/O
requests issued to the device to be served.
svctm
The average service time (in milliseconds)
for I/O requests that were issued to the
device.
%util
Percentage of CPU time during which I/O
requests were issued to the device.
OPTIONS
-c The -c option is exclusive of the -d option and
displays only the cpu usage report.
-d The -d option is exclusive of the -c option and
displays only the device utilization report.
-t Print the time for each report displayed.
-x device
Display extended statistics. If no device is given
on the command line, then extended statistics are
displayed for every device registered in the
/proc/partitions file. Please note that Linux ker
nel needs to be patched for this option to work.
ENVIRONMENT
The iostat command takes into account the following envi
ronment variable:
S_TIME_FORMAT
If this variable exists and its value is ISO then
the current locale will be ignored when printing
the date in the report header. The iostat command
will use the ISO format (YYYY-MM-DD) instead.
EXAMPLES
iostat
Display a single history since boot report for all
CPU and Devices.
iostat -d 2
Display a continuous device report at two second
intervals.
iostat -d 2 6
Display six reports at two second intervals for all
devices.
BUGS
Statistics in KB/s for each block device are not available
by default due to Linux poor disk accounting. For the
same reason, a kernel patch needs to be applied for
extended statistics to be displayed.
/proc filesystem must be mounted for iostat to work.
FILE
/proc/stat contains system statisitics.
/proc/partitions contains statistics for the devices.
AUTHOR
Sebastien Godard <sebastien.godard@wanadoo.fr>
SEE ALSO
vmstat(8), sar(1), mpstat(1)
Man(1) output converted with
man2html