pmiostat, pcp-iostat — report block I/O statistics
pcp [pcp options] iostat [-u] [-G method] [-P precision] [-R pattern] [-x [dm][,t][,h][,noidle]]
pcp-iostat reports I/O statistics for SCSI (by default) or other devices (if the -x option is specified).
When invoked via the pcp(1) command, the -a/--archive, -h/--host, -O/--origin, -s/--samples, -t/--interval, -Z/--timezone and several other pcp options become indirectly available; refer to PCPIntro(1) for a complete description of these options.
The options which control the timing and layout of the information reported by pcp-iostat are as follows:
- -G method, --aggregate=method
Specifies that statistics for device names matching the regular expression specified with the -R regex option should be aggregated according to method. Note this is aggregation based on matching device names (not temporal aggregation). When -G is used, the device name column is reported as method(regex), e.g. if -G sum -R 'sd(a|b)$' is specified, the device column will be sum(sd(a|b)$) and summed statistics for sda and sdb will be reported in the remaining columns. If -G is specified but -R is not specified, then the default regex is .*, i.e. matching all device names. If method is sum then the statistics are summed. This includes the %util column, which may therefore exceed 100% if more than one device name matches. If method is avg then the statistics are summed and then averaged by dividing by the number of matching device names. If method is min or max, the minimum or maximum statistics for matching devices are reported, respectively.
- -P N, --precision=N
This indicates the precision (number of decimal places) to report. The default precision N may be set to something other than the default (2). Note that the avgrq-sz and avgqu-sz fields are always reported with N+1 decimals of precision. These fields typically have values less than 1.
- -R pattern, --regex=pattern
This restricts the report to device names matching a regular expression pattern. The given pattern is searched as a perl style regular expression, and will match any portion of a device name. e.g. '^sd[a-zA-Z]+' will match all device names starting with 'sd' followed by one or more alphabetic characters. e.g. '^sd(a|b)$' will only match 'sda' and 'sdb'. e.g. 'sda$' will match 'sda' but not 'sdab'. See also the -G option for aggregation options.
- -u, --no-interpolation
When replaying a set of archives, by default values are reported according to the requested sample interval (-t option), not according to the actual interval recorded in the archive(s). Without this option PCP interpolates the values to be reported based on the records in the set of archives, which is particularly useful when the -t option is used to replay a set of archives with a longer sampling interval than that with which the archive(s) was originally recorded with. With the -u option, uninterpolated reporting is enabled - every value is reported according to the native recording interval in the set of archives. When the -u option is specified, the -t option makes no sense and is incompatible because the replay interval is always the same as the recording interval in the set of archive. In addition, -u only makes sense when replaying archives, see the -a option on PCPIntro(1), and so if -u is specified then -a must also be specified.
- -x comma-separated-options
Specifies a comma-separated list of one or more extended reporting options as follows:
dm - report statistics for device-mapper logical devices instead of SCSI devices,
t - prefix every line in the report with a timestamp in ctime(3) format,
h - omit the heading, which is otherwise reported every 24 samples,
noidle - Do not display statistics for idle devices.
The columns in the pcp-iostat report have the following interpretation:
When the -x t option is specified, this column is the timestamp in ctime(3) format.
Specifies the scsi device name, or if -x dm is specified, the device-mapper logical device name. When -G is specified, this is replaced by the aggregation method and regular expression - see the -G and -R options above.
The number of read requests expressed as a rate per-second that were merged during the reporting interval by the I/O scheduler.
The number of write requests expressed as a rate per-second that were merged during the reporting interval by the I/O scheduler.
The number of read requests completed by the device (after merges), expressed as a rate per second during the reporting interval.
The number of write requests completed by the device (after merges), expressed as a rate per second during the reporting interval.
The average volume of data read from the device expressed as KBytes/second during the reporting interval.
The average volume of data written to the device expressed as KBytes/second during the reporting interval.
The average I/O request size for both reads and writes to the device expressed as Kbytes during the reporting interval.
The average queue length of read and write requests to the device during the reporting interval.
The average time in milliseconds that read and write requests were queued (and serviced) to the device during the reporting interval.
The average time in milliseconds that read requests were queued (and serviced) to the device during the reporting interval.
The average time in milliseconds that write requests were queued (and serviced) to the device during the reporting interval.
The percentage of time during the reporting interval that the device was busy processing requests. A value of 100% indicates device saturation.
All are generated on standard error and are intended to be self-explanatory.
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5).
For environment variables affecting PCP tools, see pmGetOptions(3).
pcp(1), PCPIntro(1), iostat2pcp(1), pmcd(1), pmchart(1), pmlogger(1), pcp.conf(5) and pcp.env(5).
The man page pmiostat(1) is an alias of pcp-iostat(1).