VMSTAT(1)

VMSTAT(1) | General Commands Manual | VMSTAT(1)

# NAME

`vmstat` — report virtual memory statistics

# SYNOPSIS

`vmstat` | [`-CefHiLlmstUvW`] [`-c` count] [`-h` hashname] [`-M` core] [`-N` system] [`-n` diskcount] [`-u` histname] [`-w` wait] [disks]

# DESCRIPTION

`vmstat` reports certain kernel statistics kept about process, virtual memory, disk, trap, and CPU activity. If `vmstat` is invoked without any options, it displays the summary of statistics since boot and exits. This is also referred to as the first line of `vmstat`.

The options are as follows:

`-C`
  Report on kernel memory caches. Combine with the `-m` option to see information about memory pools that back the caches.
`-c` count
  Repeat the display 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 wait interval is specified, the default is 1 second.
`-e`
  Report the values of system event counters.
`-f`
  Report fork statistics.
`-H`
  Report all hash table statistics.
`-h` hashname
  Report hash table statistics for hashname.
`-i`
  Report the values of system interrupt counters.
`-L`
  List all the hashes supported for `-h` and `-H`.
`-l`
  List the UVM histories being maintained by the kernel.
`-M` core
  Extract values associated with the name list from the specified core instead of the default /dev/mem.
`-m`
  Report on the list of the kernel memory pools and their usage.
`-N` system
  Extract the name list from the specified system instead of the default /netbsd.
`-n` diskcount
  Display up to diskcount disks in the standard output, instead of the default 2.
`-s`
  Display the contents of the `uvmexp` structure. This contains various paging event and memory status counters.
`-t`
  Display the contents of the `vmtotal` structure. This includes information about processes and virtual memory.

  The process part shows the number of processes in the following states:

  ru
    on the run queue
  dw
    in disk I/O wait
  pw
    waiting for paging
  sl
    sleeping

  The virtual memory section shows:

  total-v
    Total virtual memory
  active-v
    Active virtual memory in use
  active-r
    Active real memory in use
  vm-sh
    Shared virtual memory
  avm-sh
    Active shared virtual memory
  rm-sh
    Shared real memory
  arm-sh
    Active shared real memory
  free
    Free memory

  All memory values are shown in number of pages.

`-U`
  Dump all UVM histories.
`-u` histname
  Dump the specified UVM history.
`-v`
  Print more verbose information. When used with the `-i`, `-e`, or `-m` options prints out all counters, not just those with non-zero values.
`-W`
  Print more verbose information about kernel memory pools.
`-w` wait
  Pause wait seconds between each display. If no repeat count is specified, the default is infinity. The `vmstat` command will accept and honor a negative number of wait seconds.

By default, `vmstat` displays the following information:

procs
  Information about the numbers of processes in various states.

  r
    in run queue
  b
    blocked for resources (i/o, paging, etc.)
memory
  Information about the usage of virtual and real memory. Virtual pages (reported in units of 1024 bytes) are considered active if they belong to processes which are running or have run in the last 20 seconds.

  avm
    active virtual pages
  fre
    size of the free list
page
  Information about page faults and paging activity. These are averaged every five seconds, and given in units per second.

  flt
    total page faults
  re
    page reclaims (simulating reference bits)
  pi
    pages paged in
  po
    pages paged out
  fr
    pages freed per second
  sr
    pages scanned by clock algorithm, per-second
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 four disk drives are configured in the system, `vmstat` displays only the first four drives. To force `vmstat` to display specific drives, their names may be supplied on the command line.
faults
  Trap/interrupt rate averages per second over last 5 seconds.

  in
    device interrupts per interval (including clock interrupts)
  sy
    system calls per interval
  cs
    CPU context switch rate (switches/interval)
cpu
  Breakdown of percentage usage of CPU time.

  us
    user time for normal and low priority processes
  sy
    system time
  id
    CPU idle

# FILES

/netbsd
  default kernel namelist
/dev/mem
  default memory file

# EXAMPLES

The command “`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.

# SEE ALSO

fstat(1), netstat(1), nfsstat(1), ps(1), systat(1), iostat(8), pstat(8), kernhist(9)

# BUGS

The `-c`, `-n`, and `-w` options are only available with the default output.

The `-l`, `-U`, and `-u` options are useful only if the system was compiled with support for UVM history.

February 1, 2022 | NetBSD 11.0