DOKK / manpages / debian 10 / pcp / pmiostat.1.en
PCP-IOSTAT(1) General Commands Manual PCP-IOSTAT(1)

pmiostat, pcp-iostat - performance metrics i/o statistics tool

pcp iostat [-A align --align=TIME] [-a archive --archive=FILE] [-G method --aggregate=method] [-h host --host=HOST] [-O offset --origin=TIME] [-S starttime --start=TIME] [-s samples --samples=N] [-T endtime --finish=TIME] [-t interval --interval=DELTA] [-P precision --precision=N] [-R pattern --regex=pattern] [-u --no-interpolate] [-Z timezone --timezone=TZ] [-z --hostzone] [-? --help] [-x [dm][,t][,h][,noidle]]

pcp-iostat reports I/O statistics for scsi devices (by default) or device-mapper devices (if the -x dm option is specified). By default pcp-iostat reports live data for the local host but can also report for a remote host (-h) or from a previously captured PCP archive (-a).

The -S, -T, -O and -A options may be used to define a time window to restrict the samples retrieved, set an initial origin within the time window, or specify a ``natural'' alignment of the sample times; refer to PCPIntro(1) for a complete description of these options.

The other options which control the source, timing and layout of the information reported by pcp-iostat are as follows:

Performance metric values are retrieved from the Performance Co-Pilot (PCP) archive log files identified by the argument archive, which is a comma-separated list of names, each of which may be the base name of an archive or the name of a directory containing one or more archives. See also -u.
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, respectfully.
Current performance metric values are retrieved from the nominated host machine.
The argument samples defines the number of samples to be retrieved and reported. If samples is 0 or -s is not specified, pcp-iostat will sample and report continuously (in real time mode) or until the end of the set of PCP archives (in archive mode).
The default update interval may be set to something other than the default 1 second. The interval argument follows the syntax described in PCPIntro(1), and in the simplest form may be an unsigned integer (the implied units in this case are seconds). The -t option is particularly useful when replaying large sets of archives (-a option) that span several hours or even days. In this case specifying a large interval (e.g. 1h for 1 hour) will reduce the volume of data reported and the i/o statistics will be averaged (interpolated) over the reporting interval (unless the -u option is specified, see below).
This restricts the report to device names matching regex. The regex 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.
This indicates the number of decimals to print. The default precision N may be set to something other than the default 2 decimals. 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.0.
When replaying a set of archives, by default values are reported according to the selected sample interval (-t option), not according to the actual record intervals in the set of archives. To this effect PCP interpolates the values to be reported based on the records in the set of archives, and is particularly useful when the -t option is used to replay a set of archives with a longer sampling interval than the underlying interval the set of archives 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 a set of archives, see -a above, and so if -u is specified then -a must also be specified.
By default, pcp-iostat reports the time of day according to the local timezone on the system where pcp-iostat is run. The -Z option changes the timezone to timezone in the format of the environment variable TZ as described in environ(7).
Change the reporting timezone to the local timezone at the host that is the source of the performance metrics, as identified via either the -h or -a options. When replaying a PCP archive that was captured in a foreign timezone, the -z option would almost always be used (the default reporting timezone is the local timezone, which may not be the same as the timezone of the PCP archive).
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.
%util
The percentage of time during the reporting interval that the device was busy processing requests. A value of 100% indicates device saturation.

$PCP_VAR_DIR/pmns/*
default PMNS specification files

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).

pcp(1), PCPIntro(1), iostat2pcp(1), pmcd(1), pmchart(1), pmlogger(1), pcp.conf(5) and pcp.env(5).

All are generated on standard error and are intended to be self-explanatory.

PCP Performance Co-Pilot