[root@CENTOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@CENTOS7 ~]#
You can check the CPU usage and I / O device usage with the ʻiostatcommand. You must have
sysstat installed to use the ʻiostat
command.
See below for installing sysstat
.
Enable sar command on CentOS (install sysstat)
iostat command format
iostat [option] [Update interval[Number of times]]
Main options for the iostat command
option | Contents |
---|---|
-c | Output only CPU usage |
-d | Output only device usage |
-g group name | Finally, output the total using the group name. The target device is "-g TOTAL /dev/Can be specified as "sda". If the target device is ALL, the total of all devices |
-h | Output in an easy-to-read display format (Divided into two lines, a device name line and a statistics line) |
-j types | Display with a persistent name. ID, LABEL, PATH, UUID can be specified as the type, "-j ID /dev/sda "or"-The target device can be specified like "j ID ALL" (automatically ""-h ”is also specified) |
-k | Output in KB per second |
-m | MB output in seconds |
-N | Displayed by the name of the device mapper Display the device mapper name when using LVM (Logical Volume Manager) |
-p device | Specify the device to be displayed. If you want to output information for each partition, click "-p /dev/Specify as "sda" or "-Specify "p ALL". In the case of ALL, all devices including unused devices are output (""-If "z" is specified, unused devices will not be output.) |
-t | Output the measured time |
-T | Output only total ("-Used with "g") |
-x | Output extended disk statistics |
-y | Omit the "statistics (average and total) from system startup" that is displayed first when displaying repeatedly. |
-z | Do not display devices that are not used during the period to be displayed (devices with zero input / output) |
The following is displayed with the ʻiostat` command.
Output result of iostat command
[root@CENTOS7 ~]# iostat
Linux 3.10.0-1062.1.2.el7.x86_64 (CENTOS7)March 02, 2020_x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.18 0.00 0.24 1.22 0.00 98.36
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.65 47.22 6.60 140475 19625
dm-0 2.00 43.13 5.91 128305 17577
dm-1 0.03 0.74 0.00 2204 0
[root@CENTOS7 ~]#
item | Breakdown of CPU usage |
---|---|
%usr | Application (user level) |
%nice | Application (priority specification by nice value) |
%system | Kernel (system level) |
%iowait | Idle state (disc I)/Waiting for O request) |
%steal | Hypervisor processing for other virtual CPUs |
%idle | Idle state (disc I)/O except waiting for request) |
item | Breakdown of device usage |
---|---|
tps | I per second/O Number of requests (transfers per second) |
kB_read/s | Read amount per second (in KB) |
kB_wrtn/s | Write amount per second (in KB) |
kB_read | Total read amount (in KB) |
kB_wrtn | Total write amount (in KB) |
-x
option is specified)item | Breakdown of device usage |
---|---|
rrqm/s | Merged read requests per second A value indicating the case where multiple read (write) requests for the same device are processed at once. |
wrqm/s | Merged write requests per second |
r/s | Read request completed per second (after merging) |
w/s | Write request completed per second (after merging) |
rkB/s | Number of read sectors per second |
wkB/s | Number of write sectors per second |
avgrq-sz | Average sector size requested at one time (ReQuest) |
avgqu-sz | I/Average length of O-queue (QUeue) |
await | Average time to complete a created request |
r_await | Average time to complete a read request created |
w_await | Average time to complete a created write request |
svctm | I issued to the device/Average service time of O request (to be abolished) |
%util | Device bandwidth utilization |
IOSTAT(1) Linux User's Manual IOSTAT(1)
NAME
iostat - Report Central Processing Unit (CPU) statistics and input/out‐
put statistics for devices and partitions.
SYNOPSIS
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [
-y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g
group_name ] [ -p [ device [,...] | ALL ] ] [ device [...] | ALL ] [
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, unless the -y option
is used (in this case, this first report is omitted). 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 displayed 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), unless the -y option is used (in this case, this
report is omitted). Each subsequent report contains statistics col‐
lected during the interval since the previous report. The count parame‐
ter can be specified in conjunction with the interval parameter. If the
count parameter is specified, the value of count determines the number
of reports generated at interval seconds apart. If the interval parame‐
ter is specified without the count parameter, the iostat command gener‐
ates 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 Uti‐
lization Report. For multiprocessor systems, the CPU values are
global averages among all processors. The report has the fol‐
lowing format:
%user
Show the percentage of CPU utilization that occurred
while executing at the user level (application).
%nice
Show the percentage of CPU utilization that occurred
while executing at the user level with nice priority.
%system
Show the percentage of CPU utilization that occurred
while executing at the system level (kernel).
%iowait
Show the percentage of time that the CPU or CPUs were
idle during which the system had an outstanding disk I/O
request.
%steal
Show the percentage of time spent in involuntary wait by
the virtual CPU or CPUs while the hypervisor was servic‐
ing another virtual processor.
%idle
Show the percentage of time that the CPU or CPUs were
idle and the system did not have an outstanding disk I/O
request.
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. Block devices and parti‐
tions for which statistics are to be displayed may be entered on
the command line. If no device nor partition is entered, then
statistics are displayed for every device used by the system,
and providing that the kernel maintains statistics for it. If
the ALL keyword is given on the command line, then statistics
are displayed for every device defined by the system, including
those that have never been used. Transfer rates are shown in 1K
blocks by default, unless the environment variable POSIXLY_COR‐
RECT is set, in which case 512-byte blocks are used. The report
may show the following fields, depending on the flags used:
Device:
This column gives the device (or partition) name as
listed in the /dev directory.
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
single I/O request to the device. A transfer is of inde‐
terminate size.
Blk_read/s (kB_read/s, MB_read/s)
Indicate the amount of data read from the device
expressed in a number of blocks (kilobytes, megabytes)
per second. Blocks are equivalent to sectors and there‐
fore have a size of 512 bytes.
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s)
Indicate the amount of data written to the device
expressed in a number of blocks (kilobytes, megabytes)
per second.
Blk_read (kB_read, MB_read)
The total number of blocks (kilobytes, megabytes) read.
Blk_wrtn (kB_wrtn, MB_wrtn)
The total number of blocks (kilobytes, megabytes) writ‐
ten.
rrqm/s
The number of read requests merged per second that were
queued to the device.
wrqm/s
The number of write requests merged per second that were
queued to the device.
r/s
The number (after merges) of read requests completed per
second for the device.
w/s
The number (after merges) of write requests completed per
second for the device.
rsec/s (rkB/s, rMB/s)
The number of sectors (kilobytes, megabytes) read from
the device per second.
wsec/s (wkB/s, wMB/s)
The number of sectors (kilobytes, megabytes) 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. This includes the time
spent by the requests in queue and the time spent servic‐
ing them.
r_await
The average time (in milliseconds) for read requests
issued to the device to be served. This includes the time
spent by the requests in queue and the time spent servic‐
ing them.
w_await
The average time (in milliseconds) for write requests
issued to the device to be served. This includes the time
spent by the requests in queue and the time spent servic‐
ing them.
svctm
The average service time (in milliseconds) for I/O
requests that were issued to the device. Warning! Do not
trust this field any more. This field will be removed in
a future sysstat version.
%util
Percentage of elapsed time during which I/O requests were
issued to the device (bandwidth utilization for the
device). Device saturation occurs when this value is
close to 100%.
OPTIONS
-c Display the CPU utilization report.
-d Display the device utilization report.
-g group_name { device [...] | ALL }
Display statistics for a group of devices. The iostat command
reports statistics for each individual device in the list then a
line of global statistics for the group displayed as group_name
and made up of all the devices in the list. The ALL keyword
means that all the block devices defined by the system shall be
included in the group.
-h Make the Device Utilization Report easier to read by a human.
-j { ID | LABEL | PATH | UUID | ... } [ device [...] | ALL ]
Display persistent device names. Options ID, LABEL, etc. specify
the type of the persistent name. These options are not limited,
only prerequisite is that directory with required persistent
names is present in /dev/disk. Optionally, multiple devices can
be specified in the chosen persistent name type. Because per‐
sistent device names are usually long, option -h is enabled
implicitly with this option.
-k Display statistics in kilobytes per second.
-m Display statistics in megabytes per second.
-N Display the registered device mapper names for any device mapper
devices. Useful for viewing LVM2 statistics.
-p [ { device [,...] | ALL } ]
The -p option displays statistics for block devices and all
their partitions that are used by the system. If a device name
is entered on the command line, then statistics for it and all
its partitions are displayed. Last, the ALL keyword indicates
that statistics have to be displayed for all the block devices
and partitions defined by the system, including those that have
never been used. If option -j is defined before this option,
devices entered on the command line can be specified with the
chosen persistent name type.
-T This option must be used with option -g and indicates that only
global statistics for the group are to be displayed, and not
statistics for individual devices in the group.
-t Print the time for each report displayed. The timestamp format
may depend on the value of the S_TIME_FORMAT environment vari‐
able (see below).
-V Print version number then exit.
-x Display extended statistics.
-y Omit first report with statistics since system boot, if display‐
ing multiple records at given interval.
-z Tell iostat to omit output for any devices for which there was
no activity during the sample period.
ENVIRONMENT
The iostat command takes into account the following environment vari‐
ables:
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 8601 format (YYYY-
MM-DD) instead. The timestamp displayed with option -t will
also be compliant with ISO 8601 format.
POSIXLY_CORRECT
When this variable is set, transfer rates are shown in 512-byte
blocks instead of the default 1K blocks.
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.
iostat -x sda sdb 2 6
Display six reports of extended statistics at two second inter‐
vals for devices sda and sdb.
iostat -p sda 2 6
Display six reports at two second intervals for device sda and
all its partitions (sda1, etc.)
BUGS
/proc filesystem must be mounted for iostat to work.
Kernels older than 2.6.x are no longer supported.
The average service time (svctm field) value is meaningless, as I/O
statistics are now calculated at block level, and we don't know when
the disk driver starts to process a request. For this reason, this
field will be removed in a future sysstat version.
FILES
/proc/stat contains system statistics.
/proc/uptime contains system uptime.
/proc/diskstats contains disks statistics.
/sys contains statistics for block devices.
/proc/self/mountstats contains statistics for network filesystems.
/dev/disk contains persistent device names.
AUTHOR
Sebastien Godard (sysstat <at> orange.fr)
SEE ALSO
sar(1), pidstat(1), mpstat(1), vmstat(8), nfsiostat(1), cifsiostat(1)
http://pagesperso-orange.fr/sebastien.godard/
Linux NOVEMBER 2012 IOSTAT(1)
IOSTAT(1) Linux User's Manual IOSTAT(1)
NAME
Reports central processing unit (CPU) statistics and input / output statistics for devices and partitions.
SYNOPSIS
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [
-y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g
group_name ] [ -p [ device [,...] | ALL ] ] [ device [...] | ALL ] [
interval [ count ] ]
DESCRIPTION
The iostat command monitors the amount of time a device has been active in relation to its average transfer rate.
It is used to monitor the load on the system I / O devices.
The iostat command generates a report that can be used to change the system configuration and
Improves the balance of I / O load between physical disks.
The first report generated by the iostat command is-Unless the y option is used
Provides statistics on the time since the system was booted (in this case, this first report is omitted).
Each subsequent report covers the time from the previous report.
All statistics are reported each time the iostat command is executed.
The report consists of a CPU header line followed by a CPU statistics line.
In multiprocessor systems, CPU statistics are calculated system-wide as the average of all processors.
A line of device headers is displayed, followed by a line of statistics for each configured device.
The interval parameter specifies the time, in seconds, between each report.
In the first report,-Unless you use the y option
Contains statistics about the time since the system boots (in this case, this report is omitted).
Each subsequent report contains statistics collected during the interval since the previous report.
The count parameter can be specified in combination with the interval parameter.
If the count parameter is specified, the value of count determines the number of reports generated at interval second intervals.
If the interval parameter is specified without the count parameter, the iostat command produces reports continuously.
REPORTS
The iostat command produces two types of reports: CPU Utilization reports and Device Utilization reports.
CPU Utilization Report
The first report generated by the iostat command is the CPU utilization report.
For multiprocessor systems, the CPU value is the global average for all processors.
The format of the report is as follows:
%user
Displays the percentage of CPU usage that occurred during execution at the user level (application).
%nice
Shows the percentage of CPU usage that occurred during execution at the user level at the nice level.
%system
Shows the percentage of CPU usage that occurred during execution at the system level (kernel).
%iowait
Unprocessed disk I in the system/While there is an O request
Shows the percentage of time that one or more CPUs have been idle.
%steal
While the hypervisor is servicing another virtual processor
Shows the percentage of time that one or more virtual CPUs have inadvertently waited.
%idle
With one or more CPUs idle,
Unprocessed disk I in the system/O Displays the percentage of time that there was no request.
Device Utilization Report
The second report generated by the iostat command is the device utilization report.
Device reports provide statistics by physical device or partition.
You can enter the block devices and partitions for which you want to view statistics on the command line.
If no device or partition is entered, statistics for all devices used by the system will be displayed.
Indicates that the kernel holds the statistics.
Specifying the ALL keyword on the command line displays statistics for all system-defined devices.
This includes devices that have never been used.
Environment variable POSIXLY_Transfer rates are displayed in 1K blocks by default unless CORRECT is set.
In that case, a 512-byte block is used.
The report may display the following fields, depending on the flags used:
Device:
This column is "/Indicates the device (or partition) name listed in the "dev" directory.
tps
Shows the number of transfers per second issued to the device.
Transfer is I to the device/O request.
Multiple logical requests are a single I to the device/O Can be combined with a request.
The size of the transfer is indefinite.
Blk_read/s (kB_read/s, MB_read/s)
Shows the amount of data read from the device, expressed in blocks per second (kilobytes, megabytes).
The block is a sector, so it is 512 bytes in size.
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s)
Shows the amount of data written to the device, expressed in blocks per second (kilobytes, megabytes).
Blk_read (kB_read, MB_read)
The total number of blocks read (kilobytes, megabytes).
Blk_wrtn (kB_wrtn, MB_wrtn)
Total number of blocks written (kilobytes, megabytes).
rrqm/s
The number of merged read requests per second queued on the device.
wrqm/s
The number of merged write requests per second queued on the device.
r/s
The number of read requests completed per second on the device (after merging).
w/s
The number of completed write requests per second for the device (after merging).
rsec/s (rkB/s, rMB/s)
The number of sectors (kilobytes, megabytes) read from the device per second.
wsec/s (wkB/s, wMB/s)
The number of sectors (kilobytes, megabytes) written to the device per second.
avgrq-sz
The average size of requests issued to the device (in sectors).
avgqu-sz
The average queue length for requests issued to the device.
await
I issued to the serviced device/O Average time of request (milliseconds).
This includes the time that requests spend in the queue and the time that they spend on those services.
r_await
The average time (in milliseconds) for read requests issued to serviced devices.
This includes the time that requests spend in the queue and the time that they spend on those services.
w_await
The average time (in milliseconds) of a write request issued to a serviced device.
This includes the time that requests spend in the queue and the time that they spend on those services.
svctm
I issued to the device/O Average service time for requests (milliseconds).
warning! Do not trust this field anymore.
This field will be removed in a future sysstat version.
%util
I/O Percentage of elapsed time the request was issued to the device (device bandwidth utilization).
If this value is close to 100%, device saturation will occur.
OPTIONS
-c Display the CPU utilization report.
-d Display the device utilization report.
-g group_name { device [...] | ALL }
View device group statistics.
The iostat command reports statistics for individual devices in the list and
Then group_Displayed as name and consists of all devices in the list
Report a row of global statistics for the group.
The ALL keyword is used for all block devices defined by the system.
Means to be included in the group.
-h Make device utilization reports easier for humans to read.
-j { ID | LABEL | PATH | UUID | ... } [ device [...] | ALL ]
Shows the persistent device name. Option ID, LABEL, etc. specify a persistent name type.
These options are not limited.
The prerequisite is that the directory with the required persistent name is "dev"/It just exists on "disk".
You can optionally specify multiple devices with the persistent name type of your choice.
Persistent device names are usually long, so optional-h is implicitly enabled with this option.
-k Statistics in kilobytes/Display in seconds.
-m megabyte/View statistics in seconds.
-N Device Mapper Displays the registered device mapper name of the device.
Useful for displaying LVM2 statistics.
-p [ { device [,...] | ALL } ]
-The p option displays statistics on the block devices used by the system and all its partitions.
Enter the device name on the command line to see statistics for the device and all its partitions.
Finally, the ALL keyword is used with all system-defined block devices.
Indicates that you need to view statistics for partitions (including those that have never been used).
Option before this option-If j is defined
Devices entered on the command line can be specified with the persistent name type of your choice.
-T This option is optional-Must be used with g,
Only global statistics for the group are displayed,
Indicates that statistics for individual devices in the group will not be displayed.
-t Print the time for each displayed report.
The format of the time stamp is S_TIME_It may depend on the value of the FORMAT environment variable (see below).
-Output the V version number and exit.
-x Display extended statistics.
-y If you want to view multiple records at specific intervals
Skip the first report that contains statistics since the system booted.
-Instruct z iostat to omit the output of devices that were inactive during the sample period.
ENVIRONMENT
The iostat command considers the following environment variables:
S_TIME_FORMAT
If this variable exists and its value is ISO
The current locale is ignored when printing the date in the report header.
The iostat command is instead in ISO 8601 format (YYYY)-MM-DD) is used.
option-The time stamp displayed by t also conforms to the ISO 8601 format.
POSIXLY_CORRECT
If this variable is set, the transfer rate is displayed in 512 byte blocks instead of the default 1K blocks.
EXAMPLES
iostat
View a single history since the boot report for all CPUs and devices.
iostat -d 2
Display continuous device reports at 2-second intervals.
iostat -d 2 6
View 6 reports at 2-second intervals for all devices.
iostat -x sda sdb 2 6
View six reports of extended statistics at 2-second intervals for devices sda and sdb.
iostat -p sda 2 6
View 6 reports every 2 seconds for device sda and all its partitions (such as sda1)
BUGS
For iostat to work,/The "proc" file system must be mounted.
2.6.Kernels older than x are no longer supported.
I/The average service time (svctm field) value is now meaningless because O statistics are now calculated at the block level.
I don't know when the disk driver will start processing the request.
For this reason, this field will be removed in a future sysstat version.
FILES
/proc/stat contains system statistics.
/proc/uptime contains system uptime.
/proc/diskstats contains disks statistics.
/sys contains statistics for block devices.
/proc/self/mountstats contains statistics for network filesystems.
/dev/disk contains persistent device names.
AUTHOR
Sebastien Godard (sysstat <at> orange.fr)
SEE ALSO
sar(1), pidstat(1), mpstat(1), vmstat(8), nfsiostat(1), cifsiostat(1)
http://pagesperso-orange.fr/sebastien.godard/
Linux NOVEMBER 2012 IOSTAT(1)
that's all
Recommended Posts