summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man1/iostat.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/archlinux/man1/iostat.1')
-rw-r--r--upstream/archlinux/man1/iostat.1479
1 files changed, 479 insertions, 0 deletions
diff --git a/upstream/archlinux/man1/iostat.1 b/upstream/archlinux/man1/iostat.1
new file mode 100644
index 00000000..f7e45e29
--- /dev/null
+++ b/upstream/archlinux/man1/iostat.1
@@ -0,0 +1,479 @@
+.\" iostat manual page - (C) 1998-2020 Sebastien Godard (sysstat <at> orange.fr)
+.TH IOSTAT 1 "AUGUST 2023" Linux "Linux User's Manual" -*- nroff -*-
+.SH NAME
+iostat \- Report Central Processing Unit (CPU) statistics and input/output
+statistics for devices and partitions.
+
+.SH SYNOPSIS
+.ie 'yes'no' \{
+.B iostat [ \-c ] [ \-d ] [ \-h ] [ \-k | \-m ] [ \-N ] [ \-s ] [ \-t ] [ \-V ] [ \-x ] [ \-y ] [ \-z ]
+.BI "[ \-\-compact ] [ \-\-dec={ 0 | 1 | 2 } ] [ { \-f | +f } " "directory" " ] [ \-j { ID | LABEL | PATH | UUID | ... } ] "
+.BI "[ \-o JSON ] [ [ \-H ] \-g " "group_name " "] [ \-\-human ] [ \-\-pretty ] [ \-p [ " "device" "[,...] | ALL ] ] ["
+.IB "device " "[...] | ALL ] [ \-\-debuginfo ] [ " "interval " "[ " "count " "] ] "
+.\}
+.el \{
+.B iostat [ \-c ] [ \-d ] [ \-h ] [ \-k | \-m ] [ \-N ] [ \-s ] [ \-t ] [ \-V ] [ \-x ] [ \-y ] [ \-z ]
+.BI "[ \-\-compact ] [ \-\-dec={ 0 | 1 | 2 } ] [ { \-f | +f } " "directory" " ] [ \-j { ID | LABEL | PATH | UUID | ... } ] "
+.BI "[ \-o JSON ] [ [ \-H ] \-g " "group_name " "] [ \-\-human ] [ \-\-pretty ] [ \-p [ " "device" "[,...] | ALL ] ] ["
+.IB "device " "[...] | ALL ] [ " "interval " "[ " "count " "] ]"
+.\}
+
+.SH DESCRIPTION
+.RB "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
+.B iostat
+command generates reports
+that can be used to change system configuration to better balance
+the input/output load between physical disks.
+.PP
+The first report generated by the
+.B iostat
+command provides statistics
+concerning the time since the system was booted, unless the
+.B \-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
+.B 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.
+.PP
+The
+.I interval
+parameter specifies the amount of time in seconds between
+each report. The
+.IR "count " "parameter can be specified in conjunction with the " "interval"
+.RI "parameter. If the " "count " "parameter is specified, the value of " "count"
+.RI "determines the number of reports generated at " "interval " "seconds apart. If the"
+.IR "interval " "parameter is specified without the " "count " "parameter, the"
+.B iostat
+command generates reports continuously.
+
+.SH REPORTS
+The
+.B iostat
+command generates two types of reports, the CPU
+Utilization report and the Device Utilization report.
+
+.IP "CPU Utilization Report"
+The first report generated by the
+.B iostat
+command is the CPU Utilization Report. For multiprocessor systems, the CPU values are
+global averages among all processors.
+The report has the following format:
+.RS
+.IP %user
+Show the percentage of CPU utilization that occurred while
+executing at the user level (application).
+.IP %nice
+Show the percentage of CPU utilization that occurred while
+executing at the user level with nice priority.
+.IP %system
+Show the percentage of CPU utilization that occurred while
+executing at the system level (kernel).
+.IP %iowait
+Show the percentage of time that the CPU or CPUs were idle during which
+the system had an outstanding disk I/O request.
+.IP %steal
+Show the percentage of time spent in involuntary wait by the virtual CPU
+or CPUs while the hypervisor was servicing another virtual processor.
+.IP %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.
+.RE
+.PP
+.IP "Device Utilization Report"
+The second report generated by the
+.B iostat
+command is the Device Utilization Report.
+The device report provides statistics on a per physical device
+or partition basis. Block devices and partitions 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
+.B 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
+.B POSIXLY_CORRECT
+is set, in which case 512-byte blocks are used.
+The report may show the following fields, depending on the flags used (e.g.
+.BR "\-x" ", " "\-s " "and " "\-k " "or " "\-m" "):"
+.RS
+.IP Device:
+This column gives the device (or partition) name as listed in the
+.IR "/dev " "directory."
+.IP 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 indeterminate size.
+.IP "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 therefore have a size of 512 bytes.
+.IP "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.
+.IP "Blk_dscd/s (kB_dscd/s, MB_dscd/s)"
+Indicate the amount of data discarded for the device expressed in a number of
+blocks (kilobytes, megabytes) per second.
+.IP "Blk_w+d/s (kB_w+d/s, MB_w+d/s)"
+Indicate the amount of data written to or discarded for the device expressed
+in a number of blocks (kilobytes, megabytes) per second.
+.IP "Blk_read (kB_read, MB_read)"
+The total number of blocks (kilobytes, megabytes) read.
+.IP "Blk_wrtn (kB_wrtn, MB_wrtn)"
+The total number of blocks (kilobytes, megabytes) written.
+.IP "Blk_dscd (kB_dscd, MB_dscd)"
+The total number of blocks (kilobytes, megabytes) discarded.
+.IP "Blk_w+d (kB_w+d, MB_w+d)"
+The total number of blocks (kilobytes, megabytes) written or discarded.
+.IP r/s
+The number (after merges) of read requests completed per second for the device.
+.IP w/s
+The number (after merges) of write requests completed per second for the device.
+.IP d/s
+The number (after merges) of discard requests completed per second for the device.
+.IP f/s
+The number (after merges) of flush requests completed per second for the device.
+This counts flush requests executed by disks. Flush requests are not tracked for partitions.
+Before being merged, flush operations are counted as writes.
+.IP "sec/s (kB/s, MB/s)"
+The number of sectors (kilobytes, megabytes) read from, written to or
+discarded for the device per second.
+.IP "rsec/s (rkB/s, rMB/s)"
+The number of sectors (kilobytes, megabytes) read from the device per second.
+.IP "wsec/s (wkB/s, wMB/s)"
+The number of sectors (kilobytes, megabytes) written to the device per second.
+.IP "dsec/s (dkB/s, dMB/s)"
+The number of sectors (kilobytes, megabytes) discarded for the device per second.
+.IP rqm/s
+The number of I/O requests merged per second that were queued to the device.
+.IP rrqm/s
+The number of read requests merged per second that were queued to the device.
+.IP wrqm/s
+The number of write requests merged per second that were queued to the device.
+.IP drqm/s
+The number of discard requests merged per second that were queued to the device.
+.IP %rrqm
+The percentage of read requests merged together before being sent to the device.
+.IP %wrqm
+The percentage of write requests merged together before being sent to the device.
+.IP %drqm
+The percentage of discard requests merged together before being sent to the device.
+.IP areq\-sz
+The average size (in kilobytes) of the I/O requests that were issued to the device.
+.br
+Note: In previous versions, this field was known as avgrq\-sz and was expressed in sectors.
+.IP rareq\-sz
+The average size (in kilobytes) of the read requests that were issued to the device.
+.IP wareq\-sz
+The average size (in kilobytes) of the write requests that were issued to the device.
+.IP dareq\-sz
+The average size (in kilobytes) of the discard requests that were issued to the device.
+.IP 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 servicing them.
+.IP 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 servicing them.
+.IP 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 servicing them.
+.IP d_await
+The average time (in milliseconds) for discard requests issued to the device
+to be served. This includes the time spent by the requests in queue and
+the time spent servicing them.
+.IP f_await
+The average time (in milliseconds) for flush requests issued to the device
+to be served.
+The block layer combines flush requests and executes at most one at a time.
+Thus flush operations could be twice as long: Wait for current flush request,
+then execute it, then wait for the next one.
+.IP aqu\-sz
+The average queue length of the requests that were issued to the device.
+.br
+Note: In previous versions, this field was known as avgqu\-sz.
+.IP %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% for devices serving requests serially.
+But for devices serving requests in parallel, such as RAID arrays and
+modern SSDs, this number does not reflect their performance limits.
+.RE
+
+.SH OPTIONS
+.TP
+.B \-c
+Display the CPU utilization report.
+.TP
+.B \-\-compact
+Don't break the Device Utilization Report into sub-reports so that all the metrics get displayed
+on a single line.
+.TP
+.B \-d
+Display the device utilization report.
+.if 'yes'no' \{
+.TP
+.B \-\-debuginfo
+Print debug output to stderr.
+.\}
+.TP
+.B \-\-dec={ 0 | 1 | 2 }
+Specify the number of decimal places to use (0 to 2, default value is 2).
+.TP
+.BI "\-f " "directory"
+.RE
+.BI "+f " "directory"
+.RS
+Specify an alternative directory for
+.B iostat
+to read devices statistics. Option
+.BR "\-f " "tells " "iostat " "to use only the files located in the alternative directory, "
+whereas option
+.B +f
+tells it to use both the standard kernel files and the files located in the alternative directory
+to read device statistics.
+
+.IR "directory" " is a directory containing files with statistics for devices managed in userspace."
+It may contain:
+
+- a "diskstats" file whose format is compliant with that located in "/proc",
+.br
+- statistics for individual devices contained in files whose format is compliant with that of files located in
+"/sys".
+
+In particular, the following files located in
+.I "directory"
+.RB "may be used by " "iostat" ":"
+
+.IR "directory" "/block/" "device" "/stat"
+.br
+.IR "directory" "/block/" "device" "/" "partition" "/stat"
+
+.IR "partition" " files must have an entry in " "directory" "/dev/block/ directory, e.g.:"
+
+.IR "directory" "/dev/block/" "major" ":" "minor" " --> ../../block/" "device" "/" "partition"
+.RE
+.TP
+.BI "\-g " "group_name " "{ " "device " "[...] | ALL }"
+Display statistics for a group of devices.
+The
+.B iostat
+command reports statistics for each individual device in the list
+then a line of global statistics for the group displayed as
+.I group_name
+and made up of all the devices in the list. The
+.B ALL
+keyword means that all the block devices defined by the system shall be
+included in the group.
+.TP
+.B \-H
+This option must be used with option
+.B \-g
+and indicates that only global
+statistics for the group are to be displayed, and not statistics for
+individual devices in the group.
+.TP
+.B \-h
+This option is equivalent to specifying
+.BR "\-\-human \-\-pretty" "."
+.TP
+.B \-\-human
+Print sizes in human readable format (e.g. 1.0k, 1.2M, etc.)
+The units displayed with this option supersede any other default units (e.g.
+kilobytes, sectors...) associated with the metrics.
+.TP
+.BI "\-j { ID | LABEL | PATH | UUID | ... } [ " "device " "[...] | ALL ]"
+Display persistent device names. Keywords
+.BR "ID" ", " "LABEL" ", "
+etc. specify the type of the persistent name. These keywords are not limited,
+only prerequisite is that directory with required persistent names is present in
+.IR "/dev/disk" "."
+Optionally, multiple devices can be specified in the chosen persistent name type.
+Because persistent device names are usually long, option
+.B \-\-pretty
+is implicitly set with this option.
+.TP
+.B \-k
+Display statistics in kilobytes per second.
+.TP
+.B \-m
+Display statistics in megabytes per second.
+.TP
+.B \-N
+Display the registered device mapper names for any device mapper devices.
+Useful for viewing LVM2 statistics.
+.TP
+.B \-o JSON
+Display the statistics in JSON (JavaScript Object Notation) format.
+JSON output field order is undefined, and new fields may be added
+in the future.
+.TP
+.BI "\-p [ { " "device" "[,...] | ALL } ]"
+Display 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
+.B 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
+.B \-j
+is defined before this option, devices entered on the command line can be
+specified with the chosen persistent name type.
+.TP
+.B \-\-pretty
+Make the Device Utilization Report easier to read by a human.
+The device name will be printed on the right side. The report may also be broken
+into sub-reports if there are many metrics to display (use
+.B \-\-compact
+option to prevent this).
+.TP
+.B \-s
+Display a short (narrow) version of the report that should fit in 80
+characters wide screens.
+.TP
+.B \-t
+Print the time for each report displayed. The timestamp format may depend
+on the value of the
+.BR "S_TIME_FORMAT " "environment variable (see below)."
+.TP
+.B \-V
+Print version number then exit.
+.TP
+.B \-x
+Display extended statistics.
+.TP
+.B \-y
+Omit first report with statistics since system boot, if displaying
+multiple records at given interval.
+.TP
+.B \-z
+Tell
+.B iostat
+to omit output for any devices for which there was no activity
+during the sample period.
+
+.SH ENVIRONMENT
+The
+.B iostat
+command takes into account the following environment variables:
+.TP
+.B POSIXLY_CORRECT
+When this variable is set, transfer rates are shown in 512-byte blocks instead
+of the default 1K blocks.
+.TP
+.B S_COLORS
+By default statistics are displayed in color when the output is connected to a terminal.
+Use this variable to change the settings. Possible values for this variable are
+.IR "never" ", " "always " "or " "auto"
+(the latter is equivalent to the default settings).
+.br
+Please note that the color (being red, yellow, or some other color) used to display a value
+is not indicative of any kind of issue simply because of the color. It only indicates different
+ranges of values.
+.TP
+.B S_COLORS_SGR
+Specify the colors and other attributes used to display statistics on the terminal.
+Its value is a colon-separated list of capabilities that defaults to
+.BR "I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22" "."
+Supported capabilities are:
+.RS
+.TP
+.B I=
+SGR (Select Graphic Rendition) substring for device names.
+.TP
+.B N=
+SGR substring for non-zero statistics values.
+.TP
+.BR "W=" " (or " "M=" ")"
+SGR substring for percentage values in the range from 75% to 90% (or in the range 10% to 25% depending on the
+metric's meaning).
+.TP
+.BR "X=" " (or " "H=" ")"
+SGR substring for percentage values greater than or equal to 90% (or lower than or equal to 10% depending on the
+metric's meaning).
+.TP
+.B Z=
+SGR substring for zero values.
+.RE
+.TP
+.B S_TIME_FORMAT
+If this variable exists and its value is
+.B ISO
+then the current locale will be ignored when printing the date in the report
+header. The
+.B iostat
+command will use the ISO 8601 format (YYYY-MM-DD) instead.
+The timestamp displayed with option
+.B \-t
+will also be compliant with ISO 8601 format.
+
+.SH EXAMPLES
+.TP
+.B iostat
+Display a single history since boot report for all CPU and Devices.
+.TP
+.B iostat \-d 2
+Display a continuous device report at two second intervals.
+.TP
+.B iostat \-d 2 6
+Display six reports at two second intervals for all devices.
+.TP
+.B iostat \-x sda sdb 2 6
+Display six reports of extended statistics at two second intervals for devices
+sda and sdb.
+.TP
+.B iostat \-p sda 2 6
+Display six reports at two second intervals for device sda and all its
+partitions (sda1, etc.)
+
+.SH BUGS
+.IR "/proc " "filesystem must be mounted for"
+.BR "iostat " "to work."
+.PP
+Kernels older than 2.6.x are no longer supported.
+.PP
+.RB "Although " "iostat"
+speaks of kilobytes (kB), megabytes (MB)..., it actually uses kibibytes (kiB), mebibytes (MiB)...
+A kibibyte is equal to 1024 bytes, and a mebibyte is equal to 1024 kibibytes.
+
+.SH FILES
+.IR "/proc/stat " "contains system statistics."
+.br
+.IR "/proc/uptime " "contains system uptime."
+.br
+.IR "/proc/diskstats " "contains disks statistics."
+.br
+.IR "/sys " "contains statistics for block devices."
+.br
+.IR "/proc/self/mountstats " "contains statistics for network filesystems."
+.br
+.IR "/dev/disk " "contains persistent device names."
+
+.SH AUTHOR
+Sebastien Godard (sysstat <at> orange.fr)
+
+.SH SEE ALSO
+.BR "sar" "(1), " "pidstat" "(1), " "mpstat" "(1), " "vmstat" "(8), " "tapestat" "(1), " "nfsiostat" "(1),"
+.BR "cifsiostat" "(1)"
+.PP
+.I https://github.com/sysstat/sysstat
+.br
+.I https://sysstat.github.io/