For the complete documentation index, see llms.txt. This page is also available as Markdown.

vmstat(8)

vmstat — 报告虚拟内存统计信息

名称

vmstat

概要

vmstat [--libxo] [-afHhimoPsz] [-M core [-N system]] [-c count] [-n devs] [-p type,if,pass] [-w wait] [disks ...] [wait [count]]

描述

vmstat 工具报告有关进程、虚拟内存、磁盘、陷阱和 CPU 活动的某些内核统计信息。

如果未指定 -M 选项,则通过 sysctl(3) 接口从当前运行的内核获取信息。否则,从指定的内核转储文件读取信息,使用指定内核映像(或默认映像)中的名称列表。

选项如下:

--libxo 通过 libxo(3) 以多种人类可读和机器可读格式生成输出。有关命令行参数的详细信息,请参见 xo_options(7)。

-a-i 一起使用时,包括从未生成的中断的统计信息。

-c count 重复显示 count 次。第一次显示的是自重启以来的时间,后续每次报告的是自上次显示以来的时间段。如果未指定重复 count,并且指定了 -w,则默认为无限次,否则默认为一次。

-f 报告自系统启动以来 fork(2)、vfork(2) 和 rfork(2) 系统调用的次数,以及每个调用涉及的虚拟内存页数。

-h 将内存列更改为更易读的形式。如果标准输出是终端设备,则默认启用。

-H 将内存列更改为纯数字。如果标准输出不是终端设备(如脚本),则默认启用。

-i 报告自系统启动以来每个设备捕获的中断数。

-M 从指定的 core 提取与名称列表关联的值。

-N 如果同时指定了 -M,则从指定的 system 而非默认值(系统引导时使用的内核映像)提取名称列表。

-m 按类型报告使用 malloc(9) 分配的内核动态内存的使用情况。

-n devs 将显示的最大磁盘数从默认值 2 更改。

-o 显示系统中虚拟内存对象列表及每个对象使用的驻留内存。

-P 报告每个 CPU 的系统/用户/空闲 CPU 统计信息。

-p 指定要显示的设备类型。设备有三种不同的类别:

设备类型(device type):

da 直接访问设备

sa 顺序访问设备

printer 打印机

proc 处理器设备

worm 一次写入多次读取设备

cd CD 设备

scanner 扫描仪设备

optical 光存储设备

changer 介质更换设备

comm 通信设备

array 存储阵列设备

enclosure 机箱服务设备

floppy 软盘设备

接口(interface):

IDE 集成驱动电子设备

SCSI 小型计算机系统接口设备

NVME NVM Express 接口设备

other 任何其他设备接口

直通(passthrough):

pass 直通设备

用户必须指定至少一种设备类型,且从每个类别中最多指定一种设备类型。单个设备类型语句中的多个设备类型必须用逗号分隔。命令行上可以指定任意数量的 -p 参数。所有 -p 参数通过或运算组合形成匹配表达式,系统中的所有设备都与该表达式比较。完全匹配任何 -p 参数的设备将包含在 vmstat 输出中,最多两个设备,或用户指定的最大设备数。

-s 显示 sum 结构的内容,给出自系统启动以来发生的几种分页相关事件的总数。

-w wait 每次显示之间暂停 wait 秒。如果未指定重复 wait 间隔,默认为 1 秒。vmstat 命令接受并使用非整数秒数。

-z 按区域报告内核区域分配器 uma(9) 使用的内存。

waitcount 参数可以在命令行上 disks 参数之前的任何位置跟在各自标志之后,也可以不带标志作为最终参数。后一种形式为向后兼容而接受,但首选使用 -w-c 的形式以避免歧义。

默认情况下,vmstat 显示以下信息:

procs 有关各种状态下线程数量的信息:

r 运行中或在运行队列中

b 因资源(I/O、分页等)阻塞

w 已换出

memory 有关虚拟和实际内存使用的信息。映射的虚拟内存是属于映射虚拟内存对象的所有虚拟页的总和。注意,即使当前只映射了对象页的子集,整个内存对象的大小也被视为已映射。此统计信息与用于跟踪实际内存的活动页队列无关。

avm 映射的虚拟内存(以前在 vmstat 输出中称为 active)

fre 空闲列表的大小

page 有关页错误和分页活动的信息。这些以每秒为单位给出。

flt 页错误总数

re 重新激活的页(在 laundry 或 inactive 队列中找到)

pi 换入的页

po 换出的页

fr 释放的页

sr 页守护进程扫描的页

disks 每秒磁盘操作数(此字段取决于系统)。通常分页将分布在可用驱动器上。字段的标题是磁盘名的前两个字符和单元号。如果系统中配置了两个以上的磁盘驱动器,vmstat 仅显示前两个驱动器,除非用户指定 -n 参数来增加显示的驱动器数。但这可能导致显示超过 80 列。要强制 vmstat 显示特定驱动器,可在命令行上提供其名称。vmstat 工具默认先显示磁盘,然后是系统中各种其他随机设备,总共最多两个设备(如果系统中有那么多设备)。如果在命令行上指定了设备,或指定了设备类型匹配模式(见上文),vmstat 将仅显示给定设备或匹配模式的设备,不会随机选择系统中的其他设备。

faults 每秒陷阱/中断率。

in 设备中断(包括时钟中断)

sy 系统调用

cs CPU 上下文切换

cpu CPU 时间百分比使用明细。

us 正常和低优先级进程的用户时间

sy 系统和中断时间

id CPU 空闲

文件

/boot/kernel/kernel 默认内核名称列表

/dev/kmem 默认内存文件

实例

命令:

将每五秒打印一次系统正在做什么。

命令:

将让 vmstat 选择前两个直接访问或 CDROM 设备,并显示这些设备的统计信息,以及每秒的其他系统统计信息。

参见

fstat(1), netstat(1), nfsstat(1), ps(1), systat(1), libmemstat(3), libxo(3), xo_options(7), gstat(8), iostat(8), pstat(8), sysctl(8), malloc(9), uma(9)

《Installing and Operating 4.3BSD》中以“Interpreting system activity”开头的章节。

历史

vmstat 工具首次出现于 3BSD。

缺陷

-c-w 选项仅在默认输出中可用。

最后更新于

这有帮助吗?