Changes:
xxxx/xx/xx: Version 10.1.3 - Sebastien Godard (sysstat <at> orange.fr)
+ * [Peter Schiffer]: Added option -y to iostat. This option
+ prevents iostat from displaying its first report with
+ statistics since system boot.
* Fixed DTD document: If computer has run all day without
restart, XML output file from sadf -x has no boot elements.
+ * iostat manual page updated.
2012/10/06: Version 10.1.2 - Sebastien Godard (sysstat <at> orange.fr)
* New field added to sar -u and mpstat: %gnice (time spent
progname);
#ifdef DEBUG
fprintf(stderr, _("Options are:\n"
- "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]\n"
+ "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
"[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
"[ <device> [...] | ALL ] [ --debuginfo ]\n"));
#else
fprintf(stderr, _("Options are:\n"
- "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]\n"
+ "[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
"[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
"[ <device> [...] | ALL ]\n"));
void rw_io_stat_loop(long int count, struct tm *rectime)
{
int curr = 1;
+ int skip = 0;
+
+ /* Should we skip first report? */
+ if (DISPLAY_OMIT_SINCE_BOOT(flags) && interval > 0) {
+ skip = 1;
+ }
/* Don't buffer data if redirected to a pipe */
setbuf(stdout, NULL);
/* Get time */
get_localtime(rectime, 0);
- /* Print results */
- write_stats(curr, rectime);
-
- if (count > 0) {
- count--;
+ /* Check whether we should skip first report */
+ if (!skip) {
+ /* Print results */
+ write_stats(curr, rectime);
+
+ if (count > 0) {
+ count--;
+ }
}
+ else {
+ skip = 0;
+ }
+
if (count) {
curr ^= 1;
pause();
/* Display extended stats */
flags |= I_D_EXTENDED;
break;
+
+ case 'y':
+ /* Don't display stats since system restart */
+ flags |= I_D_OMIT_SINCE_BOOT;
+ break;
case 'z':
/* Omit output for devices with no activity */
#define I_F_HAS_DISKSTATS 0x00800
#define I_D_HUMAN_READ 0x01000
#define I_D_PERSIST_NAME 0x02000
-/* Unused 0x04000 */
+#define I_D_OMIT_SINCE_BOOT 0x04000
/* Unused 0x08000 */
#define I_D_DEVMAP_NAME 0x10000
#define I_D_ISO 0x20000
#define HAS_DISKSTATS(m) (((m) & I_F_HAS_DISKSTATS) == I_F_HAS_DISKSTATS)
#define DISPLAY_HUMAN_READ(m) (((m) & I_D_HUMAN_READ) == I_D_HUMAN_READ)
#define DISPLAY_PERSIST_NAME_I(m) (((m) & I_D_PERSIST_NAME) == I_D_PERSIST_NAME)
+#define DISPLAY_OMIT_SINCE_BOOT(m) (((m) & I_D_OMIT_SINCE_BOOT) == I_D_OMIT_SINCE_BOOT)
#define DISPLAY_DEVMAP_NAME(m) (((m) & I_D_DEVMAP_NAME) == I_D_DEVMAP_NAME)
#define DISPLAY_ISO(m) (((m) & I_D_ISO) == I_D_ISO)
#define DISPLAY_GROUP_TOTAL_ONLY(m) (((m) & I_D_GROUP_TOTAL_ONLY) == I_D_GROUP_TOTAL_ONLY)
-.TH IOSTAT 1 "JULY 2012" Linux "Linux User's Manual" -*- nroff -*-
+.TH IOSTAT 1 "NOVEMBER 2012" 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'@WITH_DEBUG@' \{
-.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]
+.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
.B [ -j { ID | LABEL | PATH | UUID | ... } ]
.B [ [ -T ] -g
.I group_name
.B ] ]
.\}
.el \{
-.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -z ]
+.B iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
.B [ -j { ID | LABEL | PATH | UUID | ... } ]
.B [ [ -T ] -g
.I group_name
The first report generated by the
.B iostat
command provides statistics
-concerning the time since the system was booted. Each subsequent report
+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 iostat command is run. The report consists of a
CPU header row followed by a row of
.I 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
+system startup (boot), unless the
+.B -y
+option is used (in this case, this report is omitted).
+Each subsequent report contains statistics
collected during the interval since the previous report. The
.I count
parameter can be specified in conjunction with the
Print version number then exit.
.IP -x
Display extended statistics.
+.IP -y
+Omit first report with statistics since system boot, if displaying
+multiple records at given interval.
.IP -z
Tell iostat to omit output for any devices for which there was no activity
during the sample period.