可以使用 vmsta 命令报告虚拟内存统计信息,以及有关系统事件(例如 CPU 负载、分页、上下文切换数、设备中断和系统调用)的信息。vmstat 命令还可以显示有关交换、高速缓存刷新和中断的统计信息。
类别 | 字段名 | 说明 |
---|---|---|
procs |
| 报告以下内容: |
| r | 分发队列中的内核线程数 |
| b | 正在等待资源的阻塞内核线程数 |
| w | 正在等待处理中的资源完成的换出 LWP 数 |
memory |
| 报告实际内存和虚拟内存的使用情况: |
| swap | 可用交换空间 |
| free | 可用列表的大小 |
page |
| 以秒为单位报告页面错误和分页活动: |
| re | 回收的页面 |
| mf | 次要错误和主要错误 |
| pi | 页入的千字节数 |
| po | 页出的千字节数 |
| fr | 释放的千字节数 |
| de | 最近换入的进程所需的预计内存 |
| sr | 由 page 守护程序扫描的当前未使用的页数。如果 sr 不等于零,则 page 守护程序一直在运行。 |
磁盘 |
| 报告每秒的磁盘操作数,最多显示四个磁盘中的数据 |
faults |
| 报告每秒的陷阱/中断速率: |
| in | 每秒的中断次数 |
| sy | 每秒的系统调用数 |
| cs | CPU 上下文切换速率 |
cpu |
| 报告 CPU 使用时间: |
| us | 用户时间 |
| sy | 系统时间 |
| id | 空闲时间 |
有关此命令的更多详细说明,请参见 vmstat(1M) 手册页。
如何显示虚拟内存统计信息 (vmstat)
-
使用 vmstat 命令以秒为时间间隔单位收集虚拟内存统计信息。
$ vmstat n
其中,n 是两次报告之间的间隔秒数。
示例 13–1 显示虚拟内存统计信息
以下示例显示了以 5 秒为间隔收集的统计信息的 vmstat 显示。
$ vmstat 5 kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr dd f0 s1 -- in sy cs us sy id 0 0 0 863160 365680 0 3 1 0 0 0 0 0 0 0 0 406 378 209 1 0 99 0 0 0 765640 208568 0 36 0 0 0 0 0 0 0 0 0 479 4445 1378 3 3 94 0 0 0 765640 208568 0 0 0 0 0 0 0 0 0 0 0 423 214 235 0 0 100 0 0 0 765712 208640 0 0 0 0 0 0 0 3 0 0 0 412 158 181 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 157 179 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 403 153 182 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 168 177 0 0 100 0 0 0 765832 208760 0 0 0 0 0 0 0 0 0 0 0 402 153 178 0 0 100 0 0 0 765832 208760 0 18 0 0 0 0 0 0 0 0 0 407 165 186 0 0 100 |
如何显示系统事件信息 (vmstat -s)
-
运行 vmstat -s 命令,以显示自上次引导系统以来发生的系统事件数。
$ vmstat -s 0 swap ins 0 swap outs 0 pages swapped in 0 pages swapped out 522586 total address trans. faults taken 17006 page ins 25 page outs 23361 pages paged in 28 pages paged out 45594 total reclaims 45592 reclaims from free list 0 micro (hat) faults 522586 minor (as) faults 16189 major faults 98241 copy-on-write faults 137280 zero fill page faults 45052 pages examined by the clock daemon 0 revolutions of the clock hand 26 pages freed by the clock daemon 2857 forks 78 vforks 1647 execs 34673885 cpu context switches 65943468 device interrupts 711250 traps 63957605 system calls 3523925 total name lookups (cache hits 99%) 92590 user cpu 65952 system cpu 16085832 idle cpu 7450 wait cpu
如何显示交换统计信息 (vmstat -S)
-
运行 vmstat -S,以显示交换统计信息。
$ vmstat -S kthr memory page disk faults cpu r b w swap free si so pi po fr de sr dd f0 s1 -- in sy cs us sy id 0 0 0 862608 364792 0 0 1 0 0 0 0 0 0 0 0 406 394 213 1 0 99
以下列表介绍了交换统计信息字段。有关其他字段的说明,请参见表 13–1。
-
si
-
每秒换入的平均 LWP 数
so
-
换出的完整进程数
注 –vmstat 命令会截断 si 和 so 字段的输出。应使用 sar 命令显示更精确的交换统计信息记录。
-
如何显示每台设备的中断次数 (vmstat -i)
-
运行 vmstat -i 命令,以显示每台设备的中断次数。
示例 13–2 显示每台设备的中断次数
以下示例显示 vmstat -i 命令的输出。
$ vmstat -i interrupt total rate -------------------------------- clock 52163269 100 esp0 2600077 4 zsc0 25341 0 zsc1 48917 0 cgsixc0 459 0 lec0 400882 0 fdc0 14 0 bppc0 0 0 audiocs0 0 0 -------------------------------- Total 55238959 105 |