.\"	$OpenBSD: vmstat.8,v 1.40 2019/12/06 19:15:16 jmc Exp $
.\"	$NetBSD: vmstat.8,v 1.12 1996/05/10 23:19:30 thorpej Exp $
.\"
.\" Copyright (c) 1986, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)vmstat.8	8.1 (Berkeley) 6/6/93
.\"
.Dd $Mdocdate: December 6 2019 $
.Dt VMSTAT 8
.Os
.Sh NAME
.Nm vmstat
.Nd report statistics about kernel activities
.Sh SYNOPSIS
.Nm vmstat
.Op Fl fimstvz
.Nm vmstat
.Op Fl c Ar count
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl w Ar wait
.Op Ar disk ...
.Sh DESCRIPTION
.Nm
reports certain kernel statistics kept about process, virtual memory,
disk, trap, and CPU activity.
The default behavior is to print a one-line summary of these statistics.
The
.Fl c
and
.Fl w
flags may be used to continually report summaries.
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl c Ar count
Repeat the display
.Ar count
times.
The first display is for the time since a reboot and each subsequent report
is for the time period since the last display.
If no
.Ar wait
interval is specified, the default is 1 second.
.It Fl f
Report on the number of
.Xr fork 2 ,
.Xr __tfork 3 ,
and
.Xr vfork 2
system calls as well as kernel thread creations since system startup,
and the number of pages of virtual memory involved in each.
.It Fl i
Report on the number of interrupts taken by each device since system
startup.
.It Fl M Ar core
Extract values associated with the name list from the specified core
instead of the running kernel.
.It Fl m
Report on the usage of kernel dynamic memory listed first by size of
allocation and then by type of usage.
.It Fl N Ar system
Extract the name list from the specified system instead of the running kernel.
.It Fl s
Display the contents of the
.Va uvmexp
structure (see
.Xr uvm_init 9 ) ,
giving the total number of several kinds of paging related
events which have occurred since system startup.
.It Fl t
Report on the number of page in and page reclaims since system startup,
and the amount of time required by each.
.It Fl v
Print more verbose information.
.It Fl w Ar wait
Pause
.Ar wait
seconds between each display.
If no repeat
.Ar count
is specified, the default is infinity.
.It Fl z
When used with
.Fl i ,
also list devices which have not yet generated an interrupt.
.El
.Pp
By default,
.Nm
displays the following information just once:
.Bl -tag -width Ds
.It Li procs
Information about the numbers of processes in various states.
.Pp
.Bl -tag -width 4n -compact
.It Li r
in run queue
.It Li s
sleeping
.El
.It Li memory
Information about the usage of virtual and real memory.
.Pp
.Bl -tag -width 4n -compact
.It Li avm
active virtual pages
.It Li fre
size of the free list
.El
.It Li page
Information about page faults and paging activity.
These are averaged each five seconds, and given in units per second.
.Pp
.Bl -tag -width 4n -compact
.It Li flt
page faults
.It Li re
page reclaims (simulating reference bits)
.It Li pi
pages paged in
.It Li po
pages paged out
.It Li fr
pages freed
.It Li sr
pages scanned by clock algorithm
.El
.It Li disks
Disk transfers per second.
Typically paging will be split across the available drives.
The header of the field is the first character of the disk name and
the unit number.
If more than two disk drives are configured in the system,
.Nm
displays only the first two drives.
To force
.Nm
to display specific drives, their names may be supplied on the command line.
.It Li traps
Trap/interrupt rate averages per second over last 5 seconds.
.Pp
.Bl -tag -width 4n -compact
.It Li int
device interrupts per interval (including clock interrupts)
.It Li sys
system calls per interval
.It Li cs
CPU context switch rate (switches/interval)
.El
.It Li cpu
Breakdown of percentage usage of CPU time.
.Pp
.Bl -tag -width 4n -compact
.It Li us
user time for normal and low priority processes
.It Li sy
system time
.It Li id
CPU idle
.El
.El
.Sh FILES
.Bl -tag -width Pa -compact
.It Pa /bsd
default kernel image
.It Pa /dev/kmem
default memory file
.El
.Sh EXAMPLES
The command
.Ic vmstat -w 5
will print what the system is doing every five
seconds; this is a good choice of printing interval since this is how often
some of the statistics are sampled in the system.
Others vary every second and running the output for a while will make it
apparent which are recomputed every second.
.Sh SEE ALSO
.Xr fstat 1 ,
.Xr netstat 1 ,
.Xr nfsstat 1 ,
.Xr procmap 1 ,
.Xr ps 1 ,
.Xr systat 1 ,
.Xr top 1 ,
.Xr iostat 8 ,
.Xr pstat 8 ,
.Xr uvm_init 9
.Sh BUGS
The
.Fl c
and
.Fl w
options are only available with the default output.
.Pp
This manual page lacks an incredible amount of detail.