系统管理指南:高级管理

显示虚拟内存统计信息 (vmstat)

可以使用 vmsta 命令报告虚拟内存统计信息,以及有关系统事件(例如 CPU 负载、分页、上下文切换数、设备中断和系统调用)的信息。vmstat 命令还可以显示有关交换、高速缓存刷新和中断的统计信息。

下表介绍了 vmstat 命令输出中的字段。

表 13–1 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) 手册页。

Procedure如何显示虚拟内存统计信息 (vmstat)

  1. 使用 vmstat 命令以秒为时间间隔单位收集虚拟内存统计信息。


    $ vmstat n
    

    其中,n 是两次报告之间的间隔秒数。


示例 13–1 显示虚拟内存统计信息

以下示例显示了利用 vmstat 报告的以 5 秒为间隔收集的统计信息:


$ 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

Procedure如何显示系统事件信息 (vmstat -s)

  1. 运行 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

Procedure如何显示交换统计信息 (vmstat -S)

  1. 运行 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 命令会截断 siso 字段的输出。应使用 sar 命令显示更精确的交换统计信息记录。


Procedure如何显示每台设备的中断次数 (vmstat -i)

  1. 运行 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