2461bb5bc1
Since 2.6.24/33 the kernel knows about guest and guest nice time. That is the time that is spend in KVM guests. To handle userspace programs that do not know about this the guest time is also added to user. Let us provide a guest time column in vmstat that collects both guest and guest nice into a gu value. We also subtract that value from the user time as we are now aware of the guest value. This commit is different to !113 in several ways: * newlib already knows about these to values * vmstat summary already shows these values * non-wide vmstat squishes the values So its around the wide vmstat output. References: procps-ng/procps!113 Signed-off-by: Craig Small <csmall@dropbear.xyz>
233 lines
5.7 KiB
Groff
233 lines
5.7 KiB
Groff
.\" This page Copyright (C) 1994 Henry Ware <al172@yfn.ysu.edu>
|
|
.\" Distributed under the GPL, Copyleft 1994.
|
|
.TH VMSTAT 8 "2020-06-04" "procps-ng" "System Administration"
|
|
.SH NAME
|
|
vmstat \- Report virtual memory statistics
|
|
.SH SYNOPSIS
|
|
.B vmstat
|
|
[options]
|
|
.RI [ delay " [" count ]]
|
|
.SH DESCRIPTION
|
|
.B vmstat
|
|
reports information about processes, memory, paging, block IO, traps, disks
|
|
and cpu activity.
|
|
.PP
|
|
The first report produced gives averages since the last reboot. Additional
|
|
reports give information on a sampling period of length
|
|
.IR delay .
|
|
The process and memory reports are instantaneous in either case.
|
|
.SH OPTIONS
|
|
.TP
|
|
.I delay
|
|
The
|
|
.I delay
|
|
between updates in seconds. If no
|
|
.I delay
|
|
is specified, only one report is printed with the average values since boot.
|
|
.TP
|
|
.I count
|
|
Number of updates. In absence of
|
|
.IR count ,
|
|
when
|
|
.I delay
|
|
is defined, default is infinite.
|
|
.TP
|
|
\fB\-a\fR, \fB\-\-active\fR
|
|
Display active and inactive memory, given a 2.5.41 kernel or better.
|
|
.TP
|
|
\fB\-f\fR, \fB\-\-forks\fR
|
|
The
|
|
.B \-f
|
|
switch displays the number of forks since boot. This includes the fork,
|
|
vfork, and clone system calls, and is equivalent to the total number of tasks
|
|
created. Each process is represented by one or more tasks, depending on
|
|
thread usage. This display does not repeat.
|
|
.TP
|
|
\fB\-m\fR, \fB\-\-slabs\fR
|
|
Displays slabinfo.
|
|
.TP
|
|
\fB\-n\fR, \fB\-\-one-header\fR
|
|
Display the header only once rather than periodically.
|
|
.TP
|
|
\fB\-s\fR, \fB\-\-stats\fR
|
|
Displays a table of various event counters and memory statistics. This
|
|
display does not repeat.
|
|
.TP
|
|
\fB\-d\fR, \fB\-\-disk\fR
|
|
Report disk statistics (2.5.70 or above required).
|
|
.TP
|
|
\fB\-D\fR, \fB\-\-disk-sum\fR
|
|
Report some summary statistics about disk activity.
|
|
.TP
|
|
\fB\-p\fR, \fB\-\-partition\fR \fIdevice\fR
|
|
Detailed statistics about partition (2.5.70 or above required).
|
|
.TP
|
|
\fB\-S\fR, \fB\-\-unit\fR \fIcharacter\fR
|
|
Switches outputs between 1000
|
|
.RI ( k ),
|
|
1024
|
|
.RI ( K ),
|
|
1000000
|
|
.RI ( m ),
|
|
or 1048576
|
|
.RI ( M )
|
|
bytes. Note this does not change the swap (si/so) or block (bi/bo)
|
|
fields.
|
|
.TP
|
|
\fB\-t\fR, \fB\-\-timestamp\fR
|
|
Append timestamp to each line
|
|
.TP
|
|
\fB\-w\fR, \fB\-\-wide\fR
|
|
Wide output mode (useful for systems with higher amount of memory,
|
|
where the default output mode suffers from unwanted column breakage).
|
|
The output is wider than 80 characters per line.
|
|
.TP
|
|
\fB\-V\fR, \fB\-\-version\fR
|
|
Display version information and exit.
|
|
.TP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
Display help and exit.
|
|
.PD
|
|
.SH "FIELD DESCRIPTION FOR VM MODE"
|
|
.SS
|
|
.B "Procs"
|
|
.nf
|
|
r: The number of runnable processes (running or waiting for run time).
|
|
b: The number of processes blocked waiting for I/O to complete.
|
|
.fi
|
|
.PP
|
|
.SS
|
|
.B "Memory"
|
|
These are affected by the \fB\-\-unit\fR option.
|
|
.nf
|
|
swpd: the amount of swap memory used.
|
|
free: the amount of idle memory.
|
|
buff: the amount of memory used as buffers.
|
|
cache: the amount of memory used as cache.
|
|
inact: the amount of inactive memory. (\fB\-a\fR option)
|
|
active: the amount of active memory. (\fB\-a\fR option)
|
|
.fi
|
|
.PP
|
|
.SS
|
|
.B "Swap"
|
|
These are affected by the \fB\-\-unit\fR option.
|
|
.nf
|
|
si: Amount of memory swapped in from disk (/s).
|
|
so: Amount of memory swapped to disk (/s).
|
|
.fi
|
|
.PP
|
|
.SS
|
|
.B "IO"
|
|
.nf
|
|
bi: Blocks received from a block device (blocks/s).
|
|
bo: Blocks sent to a block device (blocks/s).
|
|
.fi
|
|
.PP
|
|
.SS
|
|
.B "System"
|
|
.nf
|
|
in: The number of interrupts per second, including the clock.
|
|
cs: The number of context switches per second.
|
|
.fi
|
|
.PP
|
|
.SS
|
|
.B "CPU"
|
|
These are percentages of total CPU time.
|
|
.nf
|
|
us: Time spent running non\-kernel code. (user time, including nice time)
|
|
sy: Time spent running kernel code. (system time)
|
|
id: Time spent idle. Prior to Linux 2.5.41, this includes IO\-wait time.
|
|
wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
|
|
st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
|
|
gu: Time spent running KVM guest code (guest time, including guest nice).
|
|
.fi
|
|
.PP
|
|
.SH "FIELD DESCRIPTION FOR DISK MODE"
|
|
.SS
|
|
.B "Reads"
|
|
.nf
|
|
total: Total reads completed successfully
|
|
merged: grouped reads (resulting in one I/O)
|
|
sectors: Sectors read successfully
|
|
ms: milliseconds spent reading
|
|
.fi
|
|
.PP
|
|
.SS
|
|
.B "Writes"
|
|
.nf
|
|
total: Total writes completed successfully
|
|
merged: grouped writes (resulting in one I/O)
|
|
sectors: Sectors written successfully
|
|
ms: milliseconds spent writing
|
|
.fi
|
|
.PP
|
|
.SS
|
|
.B "IO"
|
|
.nf
|
|
cur: I/O in progress
|
|
s: seconds spent for I/O
|
|
.fi
|
|
.PP
|
|
.SH "FIELD DESCRIPTION FOR DISK PARTITION MODE"
|
|
.nf
|
|
reads: Total number of reads issued to this partition
|
|
read sectors: Total read sectors for partition
|
|
writes : Total number of writes issued to this partition
|
|
requested writes: Total number of write requests made for partition
|
|
.fi
|
|
.PP
|
|
.SH "FIELD DESCRIPTION FOR SLAB MODE"
|
|
.nf
|
|
cache: Cache name
|
|
num: Number of currently active objects
|
|
total: Total number of available objects
|
|
size: Size of each object
|
|
pages: Number of pages with at least one active object
|
|
.fi
|
|
.SH NOTES
|
|
.B vmstat
|
|
does not require special permissions.
|
|
.PP
|
|
These reports are intended to help identify system bottlenecks. Linux
|
|
.B vmstat
|
|
does not count itself as a running process.
|
|
.PP
|
|
All linux blocks are currently 1024 bytes. Old kernels may report blocks as
|
|
512 bytes, 2048 bytes, or 4096 bytes.
|
|
.PP
|
|
Since procps 3.1.9, vmstat lets you choose units (k, K, m, M). Default is K
|
|
(1024 bytes) in the default mode.
|
|
.PP
|
|
vmstat uses slabinfo 1.1
|
|
.SH FILES
|
|
.ta
|
|
.nf
|
|
/proc/meminfo
|
|
/proc/stat
|
|
/proc/*/stat
|
|
.fi
|
|
.SH "SEE ALSO"
|
|
.BR free (1),
|
|
.BR iostat (1),
|
|
.BR mpstat (1),
|
|
.BR ps (1),
|
|
.BR sar (1),
|
|
.BR top (1)
|
|
.PP
|
|
.SH BUGS
|
|
Does not tabulate the block io per device or count the number of system calls.
|
|
.SH AUTHORS
|
|
Written by
|
|
.UR al172@yfn.\:ysu.\:edu
|
|
Henry Ware
|
|
.UE .
|
|
.br
|
|
.UR ffrederick@users.\:sourceforge.\:net
|
|
Fabian Fr\('ed\('erick
|
|
.UE
|
|
(diskstat, slab, partitions...)
|
|
.SH "REPORTING BUGS"
|
|
Please send bug reports to
|
|
.UR procps@freelists.org
|
|
.UE
|