vmstat 命令
用途
报告虚拟内存统计信息。
语法
vmstat [ -f ] [ -i ] [ -s ] [ -I [ -W ]] [ -t ] [ -v ] [ -h ] [ -w ] [ -l ] [ -c ] [ -L level ] [ -@ wparname | ALL ] [{ -p | -P } physicalvolume | ALL ] ALL ] [ -S power ] [ physicalvolume ] [ interval ] [ count ]
描述
vmstat 命令报告内核线程、虚拟内存、磁盘、管理程序页面、陷阱和处理器活动的统计数据。 vmstat 命令生成的报告用于平衡系统负载活动。 当数值以百分比表示时,这些全系统的统计数据以平均值计算,而在其他情况下则以总和计算。 如果不是以原子方式读取统计数据, vmstat 命令可能会返回不一致的统计数据。
如果运行 vmstat 命令而不指定任何标记,则 vmstat 命令报告会包含自系统启动以来的虚拟内存活动摘要。 如果指定 -f 标志,那么 vmstat 命令会报告系统启动后的派生数。 physicalvolume 参数指定物理卷的名称。
interval 参数指定每个报告之间相隔的时间量(以秒计)。 如果不指定 interval 参数, vmstat 命令将生成一份包含系统启动后统计信息的报告,然后退出。 count 参数只能与 interval 参数一起指定。 如果指定 count 参数,则 count 参数值将决定生成报告的数量和间隔秒数。 如果指定 interval 参数而不指定 count 参数,那么会连续不断地生成报告。 不要对 count 参数指定值 0。
内核维护着内核线程、分页和中断活动的统计数据, vmstat 命令可通过使用 perfstat 内核扩展访问这些数据。 磁盘输入/输出 (I/O) 统计数据由设备驱动程序维护。 对于磁盘,利用活动时间和传送信息的次数来确定平均传送速率。 活动时间百分比是根据报告期间硬盘忙碌的时间计算得出的。
在微分区环境中, vmstat 命令会报告消耗的物理处理器数量(pc)和消耗的权限百分比(ec)。
vmstat 命令生成的报告包含系统配置行和列标题。 如果指定了 -@ 标志, vmstat 命令报告由系统配置和 WPAR 配置组成。
系统配置行
- lcpu
- lcpu 字段表示逻辑处理器的数量。
- mem
- mem 字段表示内存大小。
- tmem
- tmem 字段表示逻辑分区 (LPAR) 的真实内存大小。注: 该标记仅在提供 -c 选项并启用主动内存扩展时可用。
- ent
- ent 字段表示有权限的容量。 只有在共享处理器上运行分区时,才会显示此信息。
- drives
- drives 字段表示磁盘数量。 只有在监控物理卷名称时才会显示此信息。
- 工作量分区 (WPARs)
- WPARs 字段表示活动工作负载分区的数量。 仅当指定了 -@ 标志时才显示此信息。
- memlim
- memlim 字段表示工作负载分区内存资源的限制(单位:兆字节)。 此信息只显示在有强制内存资源限制的 WPAR 中。
- cpulim
- cpulim 字段表示以处理器单元为单位的工作负载分区处理器资源上限。 此信息只显示在有强制处理器资源限制的 WPAR 中。
- rset
- rset 字段表示与 WPAR 相关联的 rset 注册表的类型。 rset 注册表类型可以是常规类型或排他性类型。 只有与 rset 注册表相关联的 WPARs 才会显示此信息。
- mmode
- mmode 字段表示内存模式。 当系统启用主动内存共享时,会自动显示此指标。 指定 -c 选项时也会显示该指标。
- mpsz
- mpsz 字段表示内存池的大小,单位为千兆字节。 该指标仅在共享内存模式下显示。
列标题
vmstat 命令生成的报告的列标题具有以下值:
- WPAR
- WPAR 是工作负载分区名称,提供有关工作负载分区的信息。 仅当指定了 -@ 标志时才显示此信息。注意:
- 系统 WPAR 名称表示全系统统计信息,全局 WPAR 名称表示统计信息只属于全局。
- 当使用 -@ ALL 选项启动 vmstat 命令,且某指标的 WPAR 特定信息不可用时,将显示一个破折号 (-) 而非数值。
- 使用 -@ wparname 或在 WPAR 内启动 vmstat 命令时,如果某个指标没有 WPAR 信息,则该指标会以 at 符号 (@) 标记,并显示该指标的全系统值。
- 如果度量值不受支持,那么将显示短破折号(-)而不是一个值。
- kthr
- 提供有关内核线程状态的信息。
r- 表示在采样间隔内可运行的内核线程平均数量。 可以在采样间隔内运行的内核线程包括准备就绪但仍在等待运行的线程和已经运行的线程。
b- 表示在采样间隔内进入虚拟内存管理器(VMM)等待队列(等待资源、等待 I/O)的内核线程平均数量。
- 内存
- 提供有关虚拟内存和实际内存使用情况的信息。 如果虚拟页面被访问,则视为处于活动状态。 一个虚拟页面为 4096 字节。
avm- 表示活动虚拟页面的数量。
fre- 表示空闲列表的大小。注: 实内存的很大一部分用作文件系统数据的高速缓存。 免费名单的规模仍然很小。
- 页面
- 提供有关页面故障和分页活动的信息。 该信息是整个时间间隔的平均值,以每秒为单位显示。
re- 表示寻呼机的 I/O 列表。
pi- 表示从分页空间分页进入的页面。
po- 表示分页到分页空间的页面。
fr- 表示被释放的页面(页面替换)。
sr- 表示通过页面替换算法扫描的页面。
cy- 表示按页面替换算法计算的时钟周期。
- 故障
- 提供采样间隔内平均每秒陷阱率和中断率的信息。
in- 表示设备中断。
sy- 表示系统调用。
cs- 表示内核线程上下文切换。
- CPU
- 提供处理器时间使用百分比的细分信息。
us- 表示用户时间。
如果当前未封顶分区的物理处理器消耗量超过了有权使用的容量,百分比就会变成相对于已消耗物理处理器数量的百分比。
sy- 表示系统时间。
如果当前未封顶分区的物理处理器消耗量超过了有权使用的容量,百分比就会变成相对于已消耗物理处理器数量的百分比。
id- 表示处理器空闲时间。
如果当前未封顶分区的物理处理器消耗量超过了有权使用的容量,百分比就会变成相对于已消耗物理处理器数量的百分比。
wa- 表示系统有未处理磁盘或 NFS I/O 请求时的处理器空闲时间。
如果当前未封顶分区的物理处理器消耗量超过了有权使用的容量,百分比就会变成相对于已消耗物理处理器数量的百分比。
pc- 表示使用的物理处理器数量。 只有在共享处理器上运行分区时,才会显示此信息。
ec- 表示已消耗的有权容量的百分比。 只有在共享处理器上运行分区时,才会显示此信息。 由于计算该数据的时间基数可能不同,有权使用的容量百分比有时会超过 100%,只有在采样间隔较小的情况下才会明显超出。
rc- 表示使用的处理器资源百分比。 仅对于具有已强制施加的处理器资源限制的 WPAR 显示此信息。
- 磁盘
提供在采样间隔内每秒向指定物理卷传输的次数信息。 physicalvolume 参数可用于指定一至四个名称。 每个指定驱动器的传送统计信息按指定顺序给出。 该计数代表向物理设备的请求数。 它并不意味着读取或写入的数据量。 几个逻辑请求可以组合成为一个物理请求。 如果使用 physicalvolume 参数,则在执行命令之初打印物理卷名称。
如果指定 -I 标志,则会显示一个面向 I/O 的视图,列会有如下变化:
- kthr
- 除了列
r和列b外,还显示列p。p- 表示等待原始设备 I/O 信息的线程平均数量。 原始设备是直接连接到系统的设备。
如果 -W 标志与 -I 标志同时指定,则还会显示额外的
w列以及r、b和p列。 w- 表示每秒等待文件系统直接 I/O 事件发生的线程数。 文件系统直接 I/O 事件有以下几种类型:
- 异步 I/O (AIO)
- 缓冲区高速缓存子系统
- 并发 I/O (CIO)
- 文件系统直接 I/O
- NFS 子系统
- 线程正在等待虚拟内存管理器 (VMM) 等待列表中的操作。
- 页
- 显示新的
fi和fo列,而不是re和cy列。fi- 表示每秒的文件进入页数。
fo- 表示每秒文件翻页次数。
如果指定 -c 标志,则将显示活动内存扩展视图,其中的列会发生以下变化:
- 内存
- 除
avm和fre列外,还显示csz、cfr和dxm列。csz- 表示当前压缩池的大小,以 4 KB 页面为单位。
cfr- 表示压缩池中可用的空闲页面,以 4 KB 页面为单位。
dxm- 表示扩展内存大小不足,以 4 KB 页面为单位。
- 页
- 显示新列
ci和co,而不是re和cy列。ci- 表示每秒从压缩池输入的页面数。
co- 表示每秒向压缩池分页的次数。
如果在运行 vmstat 命令时系统配置发生变化,影响到 vmstat 命令的输出, vmstat 命令会打印一条关于配置变化的警告信息。 vmstat 命令在打印更新的系统配置信息和页眉后继续显示输出。
large-page 部分,其中包括以下列:alp- 表示正在使用的大页面数量。
flp- 表示大型页面自由列表中大型页面的数量。
avmfrerefifopipocicofrsrcy
- -I 标志会影响
re、fi、fo和cy选项的显示。 - -c 标志会影响
re、ci、co和cy选项的显示。 - 如果不受资源控制,那么
avm和fre选项是系统范围的。 因此,如果设置了 -@ 选项,avm和fre选项都会用 at 符号(@)标记。
psz 列之后和 siz 列之前。psz- 指示页大小(如 4 KB 和 64 KB)。
siz- 表示系统中存在的指定页面大小的帧数。
pgsz- 表示页面大小(例如 4 KBB、64 KBB)。
Memory- 表示所指定的页面大小的内存统计信息。
siz- 表示系统中存在的指定页面大小的帧数。
avm- 表示适用于指定页面大小的活动虚拟页面。
fre- 表示指定页面大小的空闲列表大小。
Page- 表示所指定的页大小的相关缺页故障和调页活动。 与页相关的
re、pi、po、fr、sr、cy、fi、fo、ci和co列也适用于此报告。
标志
| 项 | 描述 |
|---|---|
| -@ wparname | 报告 工作负载分区的 "虚拟内存" 活动:
|
| -c | 显示内存压缩统计数据,输出中的新列为标题 memory 下的 csz、 cfr 和 dxm 以及标题 page 下的 ci 和 co 列,而不是 re 和 cy 列。注意: 该选项只有在启用活动内存扩展时可用。
|
| -f | 报告从系统启动后的派生数目。 |
| -i | 显示从系统启动后每个设备造成的中断数目。 注意: 如果使用 -i 标志指定了 -I、 -t、 -w 和 -l 标志,则这些标志将被忽略。
|
| -I | 显示面向 I/O 的视图,其中包含新的输出列,标题 kthr 下的 p 以及标题 page 下的 fi 和 fo 列,而不是 page 标题下的 re 和 cy 列。 |
| -l | 显示带有 alp 和 flp 栏的额外 large-page 部分。 |
| -L 夷为平地 | 显示软页面推广统计信息。 注意: -v 标志只能与 -L 标志一起使用。 请勿将其他标志与 -L 标志一起使用。
|
| -p 页面大小 | 将指定页面大小的 VMM 统计数据附加到常规 vmstat 命令输出中。 |
| -P 页面大小 | 仅显示与所指定的页面大小相关的 VMM 统计信息。 |
| -s | 将 sum 结构的内容写入标准输出,其中包含自系统初始化以来分页事件的绝对计数。 只有使用 -v 标志才能指定 -s 标志。 如下描述了这些事件:
|
| -s |
|
| -s | 当与 -p pagesize 标志一起使用时, -s 标志会将指定页面大小的求和结构追加到全系统求和结构中。 该附加节段前面有一个页面大小标题(例如,4 KB 页面)。 以下详细信息不显示在此基于页面大小的 stanza 中,因为这些统计数据与页面大小无关:
注意:
|
| -S 权力 | 将处理器的统计数据乘以 10 个幂。 功率的默认值为 0。 将调整以下统计信息:
注意:
|
| -t | 打印 vmstat 命令每行输出旁的时间戳。 时间戳以 HH:MM:SS 格式显示。注意: 如果指定了 -f、 -s 或 -i 标志,则不会打印时间戳。
|
| -v | 将虚拟内存管理器维护的各种统计数据写入标准输出。 -v 标志只能与 -s、 -L 和 -h 标志一起使用。 如果指定 -v 标志,那么会显示以下统计信息:
|
| -v (续) |
如果使用 -v 标志指定 -h 标志,则会显示以下附加指标:
注意: 如果同时指定 -c 和 -v 标志,则会显示以下附加指标:
|
| -h | 显示包括系统管理程序页信息的
hypv-page 部分。 hypv-page
部分包含以下度量:
如果使用 -v 标志指定 -h 标志,则除了使用 -v 标志显示的指标外,还会显示以下指标:
|
| -w | 以宽屏方式显示报告。 |
| -W | 在 kthr 部分显示额外字段 w 。 只允许将此选项与 -I 标志配合使用。 |
- 如果启用了活动内存扩展, vmstat 命令会在扩展视图中报告内存统计信息。 但是,如果 AME_MEMVIEW 环境变量设置为 TRUE,那么内存统计信息将表示真实的视图。
- AME_MEMVIEW 环境变量对使用 -c 标志报告的内存统计数据没有影响。
示例
- 要显示引导后的统计信息摘要,请输入以下命令:
vmstat - 要以 2 秒钟的间隔显示 5 条摘要,请输入以下命令:
vmstat 2 5 - 要显示启动后的统计摘要(包括逻辑磁盘 scdisk13 和 scdisk14 的统计),请输入以下命令:
vmstat scdisk13 scdisk14 - 要显示派生统计信息,请输入以下命令:
vmstat -f - 要显示各种事件的计数,请输入以下命令:
vmstat -s - 要在 vmstat 命令输出的每一列旁显示时间戳,请输入以下命令:
vmstat -t - 要以另一组列显示面向 I/O 的视图,请输入以下命令:
vmstat -I - 要显示所有可用的 VMM 统计信息,请输入以下命令:
vmstat -vs - 要以 8 秒间隔显示大页面部分的
alp和flp栏,请输入以下命令:vmstat -l 8 - 要显示特定于特定页大小(在此示例中为 4 KB)的 VMM 统计信息,请输入以下命令:
vmstat -p 4K - 要显示系统支持的所有页大小的 VMM 统计信息,请输入以下命令:
或者输入以下命令:vmstat -p ALLvmstat -p all - 要仅显示特定页大小(在此示例中为 4 KB)的 VMM 统计信息,请输入以下命令:
vmstat -P 4K - 要仅显示所有受支持页大小的 VMM 统计信息的每页清单,请输入以下命令:
或者输入以下命令:vmstat -P ALLvmstat -P all - 要显示启动后所有工作负载分区的统计摘要,请输入以下命令:
vmstat -@ ALL - 要显示所有工作负载分区的所有可用 VMM 统计数据,请输入以下命令:
vmstat -vs -@ ALL - 要显示来自 工作负载分区的 WPAR 和系统范围 VMM 统计信息,请输入以下命令:
vmstat -@ - 要将处理器值乘以 10 并显示结果,请输入以下命令:
vmstat -S 1 - 要显示系统管理程序的统计信息,请输入以下命令:
vmstat -h - 要显示有关借给系统管理程序的页的信息,请输入以下命令:
vmstat -vh - 要显示内存压缩统计信息 (在启用了 Active Memory Expansion 的 LPAR 中) ,请输入以下命令:
vmstat -c - 要显示特定于每个页大小 (在启用了 Active Memory Expansion 的 LPAR 中) 的内存压缩统计信息,请输入以下命令:
vmstat -c -P ALL - 要将内存压缩信息附加到 -s 标志显示的统计信息中(在启用了 Active Memory Expansion 的 LPAR 中),请输入以下命令:
vmstat -s -c - 要将内存压缩信息附加到 -v 标志显示的统计信息中(在启用了 Active Memory Expansion 的 LPAR 中),请输入以下命令:
vmstat -v -c - 要显示软页面推广统计信息,请输入以下命令:
vmstat -L 1
文件
| 项 | 描述 |
|---|---|
| /usr/bin/vmstat | 包含 vmstat 命令。 |