【AIX 学习】性能优化--vmstat

vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。
如果调用 vmstat 命令时不带标志,则报告包含系统启动后虚拟内存活动的摘要。如果指定 -f 标志,则 vmstat 命令报告自从系统启动后派生的数量。PhysicalVolume 参数指定物理卷的名称。
Interval 参数指定每个报告之间的时间量(以秒计)。如果没有指定 Interval 参数,vmstat 命令生成包含有自系统启动以来的统计信息的单个报告然后退出。Count 参数只能和 Interval 参数一起指定。如果指定了 Count 参数,其值决定生成的报告数目和相互间隔的秒数。如果指定 Interval 参数而没有指定 Count 参数,则连续生成报告。Count 参数不允许为 0。


---要显示引导后的统计信息摘要:
ufserver[/]#vmstat
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 1  1 546986 305375   0   0   0   1   19   0   7 2997 508  1  1 98  0
关于内核线程状态的 kthr: 信息。
r 取样时间间隔内的平均可运行内核线程数。可运行是指处于预备状态但等待运行的线程,以及已经在运行的线程。
b 取样时间间隔内的置于 VMM 等待队列(等待资源、等待输入/输出)的平均内核线程数。
内存 memory:关于使用虚拟内存和实内存的信息。如果虚拟页已经被访问的话,虚拟页可以被认为是活动的页面。一页为 4096 个字节。
avm 活动虚拟页。
fre 空闲列表的大小。
注:
大部分实内存都用作文件系统数据的高速缓存。对于保持较小的空闲列表,这是很正常的。
页 page:关于缺页故障和调页活动的信息。这些是间隔的平均值,以秒为单位给出。
re 页面调度程序输入/输出列表。
pi 从调页空间调度进的页面。
po 调出到调页空间的页面。
fr 释放的页(页面替换)。
sr 通过页替换算法扫描的页面。
cy 按页替换算法的时钟周期。
故障 faults:采样间隔平均每秒的捕获和中断率。
in 设备中断
sy 系统调用。
cs 内核线程上下文切换。
Cpu:CPU 使用时间故障百分比。
us 用户时间。
sy 系统时间。
id CPU 空闲时间。
wa CPU 空闲时间,在此期间系统有未完成的磁盘/NFS I/O 请求。请参阅上面的详细描述。
pc 消耗的物理处理器数。仅当使用共享处理器运行分区时才显示。
ec 消耗的授权容量百分比。仅当使用共享处理器运行分区时才显示。因为计算该数据所依赖的时基可以变化,所以授权容量百分比可能有时会超过 100%。该超过现象仅在小采样时间间隔时显得尤为突出。

磁盘 disk xfer :每秒向指定物理卷提供的传送数目,该过程在采样间隔中发生。PhysicalVolume 参数可以用于指定一到四个名称。每个指定驱动器的传送统计信息按指定顺序给出。该计数代表向物理设备的请求数。它并不暗示读取或写入的数据量。几个逻辑请求可以组合成为一个物理请求。如果使用了 PhysicalVolume 参数,则在命令执行的开始打印物理卷名称。
--要显示 2 秒时间间隔的 5 个摘要:
ufserver[/]#vmstat 2 5
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 0  0 546958 305403   0   0   0   0    0   0   5 2574 729  1  1 99  0
 0  0 546958 305403   0   0   0   0    0   0   8 2432 727  1  1 99  0
 0  0 547086 305275   0   0   0   0    0   0  12 5982 702  2  2 96  0
 0  0 547005 305356   0   0   0   0    0   0   5 2363 587  1  1 99  0
 0  0 547005 305356   0   0   0   0    0   0   6 2753 586  1  1 99  0

----要显示引导后包括逻辑磁盘 hdisk0 和 hdisk1 的统计信息摘要:
ufserver[/]#vmstat hdisk0 hdisk1
System configuration: lcpu=4 mem=3920MB drives=3
kthr    memory              page              faults        cpu      disk xfer
----- ----------- ------------------------ ------------ ----------- -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa  1  2  3  4
 1  1 547061 305300   0   0   0   1   19   0   7 2997 508  1  1 98  0  0  0  -  -
ufserver[/]#vmstat hdisk0
System configuration: lcpu=4 mem=3920MB drives=3
kthr    memory              page              faults        cpu      disk xfer
----- ----------- ------------------------ ------------ ----------- -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa  1  2  3  4
 1  1 546963 305397   0   0   0   1   19   0   7 2997 508  1  1 98  0  0  -  -  -

---要显示派生统计信息:
ufserver[/]#vmstat -f
              1321380 forks

---要显示各事件的计数:
ufserver[/]#vmstat -s
            688544634 total address trans. faults
              3333967 page ins
             18677519 page outs
                78267 paging space page ins
               191702 paging space page outs
                    0 total reclaims
            279623431 zero filled pages faults
                18658 executable filled pages faults
             39724067 pages examined by clock
                   46 revolutions of the clock hand
              3664060 pages freed by the clock
             10874914 backtracks
                  238 free frame. waits
                    0 extend XPT waits
               261675 pending I/O waits
             22008658 start I/Os
              3103421 iodones
           1011062654 cpu context switches
             14951473 device interrupts
             99590678 software interrupts
            847510213 decrementer interrupts
               104853 mpc-sent interrupts
               104853 mpc-received interrupts
               339269 phantom interrupts
                    0 traps
           5957816239 syscalls
----要显示 vmstat 的每一输出栏旁边的时间戳记:
 
ufserver[/]#vmstat -t
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu       time 
----- ----------- ------------------------ ------------ ----------- --------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa hr mi se
 1  1 547050 312235   0   0   0   1   20   0   7 2997 508  1  1 98  0 15:14:58

---要以另一套输出栏显示 I/O 定向视图:
ufserver[/]#vmstat -I
System Configuration: lcpu=4 mem=3920MB
  kthr     memory              page              faults        cpu   
-------- ----------- ------------------------ ------------ -----------
 r  b  p   avm   fre  fi  fo  pi  po  fr   sr  in   sy  cs us sy id wa
 1  1  0 547051 305368   1   9   0   0   1   20   7 2997 508  1  1 98  0

要显示所有可用的 VMM 统计信息:
ufserver[/]#vmstat -vs
            688555942 total address trans. faults
              3333968 page ins
             18721908 page outs
                78267 paging space page ins
               191702 paging space page outs
                    0 total reclaims
            279628354 zero filled pages faults
                18658 executable filled pages faults
             39852998 pages examined by clock
                   46 revolutions of the clock hand
              3685603 pages freed by the clock
             10875080 backtracks
                  238 free frame. waits
                    0 extend XPT waits
               261676 pending I/O waits
             22053048 start I/Os
              3104815 iodones
           1011350314 cpu context switches
             15085751 device interrupts
             99592347 software interrupts
            847528659 decrementer interrupts
               104856 mpc-sent interrupts
               104856 mpc-received interrupts
               339279 phantom interrupts
                    0 traps
           5958323666 syscalls
              1003520 memory pages
               960185 lruable pages
               313797 free pages
                    1 memory pools
               216257 pinned pages
                 80.0 maxpin percentage
                  5.0 minperm percentage
                 15.0 maxperm percentage
                 14.0 numperm percentage
               134485 file pages
                  0.0 compressed percentage
                    0 compressed pages
                 14.0 numclient percentage
                 15.0 maxclient percentage
               134485 client pages
                    0 remote pageouts scheduled
               153417 pending disk I/Os blocked with no pbuf
               152426 paging space I/Os blocked with no psbuf
                 2228 filesystem I/Os blocked with no fsbuf
                 6131 client filesystem I/Os blocked with no fsbuf
                  245 external pager filesystem I/Os blocked with no fsbuf
                    0 Virtualized Partition Memory Page Faults
                 0.00 Time resolving virtualized partition memory page faults

s 将总数结构中的内容写入到标准输出,该结构包含从系统初始化后调页事件的绝对计数。-s 标志只能与 -v 标志一起使用。如下描述了这些事件:
地址翻译错误
每次发生地址转换页面故障时增加。解决页面故障可能需要 I/O,也可能不需要。存储保护页面故障(失去锁定)不包含在此计数之内。
入页
随虚拟内存管理器读入的每页增加。计数随调页空间和文件空间的入页增加。它和出页统计信息一起表示实际 I/O(由虚拟内存管理器启动)的总量。
出页
随虚拟内存管理器写出的每页增加。计数随调页空间和文件空间的出页而增加。它和入页统计信息一起表示实际 I/O(由虚拟内存管理器启动)的总量。
调页空间入页
只随 VMM 启动的来自调页空间的入页而增加。
调页空间出页
只随 VMM 启动的来自调页空间的出页而增加。
总回收
当不启用一个新的 I/O 请求也可以满足地址翻译错误时增加。如果页面以前已经被 VMM 请求过,但是 I/O 还没有完成;或者页面被预读算法提前提取,但是被故障段隐藏了;或者如果页面已经被放入空闲列表中,但还没有重新使用,则会发生此情况。
零填充页面故障
如果页面故障针对的是工作存储器,且可以通过指定一个帧并以零填充帧来满足它的话,则该值增加。
可执行填充页面故障
随着每个指令页面故障而增加。
用时钟检查页面
VMM 利用时钟算法实施伪最近最少使用(1ru)的页面替换模式。时钟检查过的页面是 aged。为每个时钟检查过的页面增加此计数值。
时钟指针的转动
随着每次 VMM 时钟旋转而增加(即在每一次完整的内存扫描后)。
用时钟释放的页面
随着时钟算法从实内存中选择释放的每一个页面而增加。  
回溯
随着解决前一个页面故障时出现的每一个页面故障而增加。(必须首先解决新的页面故障,然后可以回溯到最初的页面故障。)
空闲帧等待
在收集可用帧时,每次 VMM 等待一个进程时增加。
扩展 XPT 等待
每次正在进行提交而使得 VMM 等待一个进程时,随着正在被访问的段而增加。
暂挂 I/O 等待
每次 VMM 等待一个进程时随着要完成的入页 I/O 而增加。
启动 I/O
随着每个被 VMM 启动的读取或写入 I/O 请求而增加。此计数应该与入页和出页的总数相等。
iodones
在每次完成 VMM I/O 请求时增加。
CPU 上下文交换
随着每次 CPU 上下文交换而增加(新进程的分派)。
设备中断
每次硬件中断时增加。
软件中断
每次软件中断时增加。一次软件中断是一个类似于硬件中断(保存一些状态和服务器例程分支)的机器指令。系统调用用软件中断指令来完成,该指令转换控制到系统调用处理程序例程。
decrementer 中断
每次 decrementer 中断时增加。
mpc 发送中断
每次 mpc 发送中断时增加。
mpc 接收中断
每次 mpc 接收中断时增加。
幻象读取中断
每次幻象读取中断时增加。
陷阱
不通过操作系统来维护。
syscalls
随着每次系统调用而增加。
 

---要以 8 秒为时间间隔显示“大页面”部分(包含 alp 和 flp 列):
ufserver[/]#vmstat -l 8
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu     large-page
----- ----------- ------------------------ ------------ ----------- -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa   alp   flp
 0  0 547092 334672   0   0   0   0    0   0 172 3212 871  1  1 98  0     0     0
 1  0 547112 336250   0   0   0   0    0   0 170 4121 877  1  1 98  0     0     0
 0  0 547095 339024   0   0   0   0    0   0 173 4063 871  1  1 98  0     0     0
 0  1 547078 342568   0   0   0   0    0   0 170 3952 877  1  2 92  6     0     0
 0  0 547077 344536   0   0   0   0    0   0 172 3001 859  1  1 98  0     0     0
 0  0 547059 347513   0   0   0   0    0   0 170 4012 877  1  1 98  0     0     0
 1  0 547094 349030   0   0   0   0    0   0 181 4147 873  1  1 98  0     0     0
 0  0 547097 350561   0   0   0   0    0   0 177 4207 881  1  1 98  0     0     0
 1  0 547169 351954   0   0   0   0    0   0 174 4297 877  1  1 98  0     0     0
 0  0 547080 354313   0   0   0   0    0   0 169 3217 868  1  1 98  0     0     0
 2  0 547070 356333   0   0   0   0    0   0 171 4146 883  1  2 97  0     0     0
 1  0 547062 358706   0   0   0   0    0   0 172 4088 876  1  1 98  0     0     0
 0  1 547068 359198   0   0   0   0    0   0 175 4028 866  1  1 96  2     0     0

---要显示指定到特定页面大小(在该示例中,4K)的 VMM 统计信息:
ufserver[/]#vmstat -p 4k
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 1  1 547599 336356   0   0   0   1   20   0   7 2997 508  1  1 98  0
psz   avm   fre  re  pi  po  fr   sr  cy     siz
4K 439728 271635   0   0   0   1   20   0  830928

--要显示系统支持的所有页面大小的 VMM 统计信息:
ufserver[/]#vmstat -p ALL
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 1  1 547635 336320   0   0   0   1   20   0   7 2997 508  1  1 98  0
  psz   avm   fre  re  pi  po  fr   sr  cy     siz
   4K 439764 271599   0   0   0   1   20   0  830928
  64K  6742  4045   0   0   0   0    0   0   10787

--要仅显示特定页面大小(在该示例中,4K)的 VMM 统计信息:
  64K    10787     6742     4045     0     0     0     0      0     0
ufserver[/]#vmstat -P 4K
System configuration: mem=3920MB
pgsz            memory                           page                
----- -------------------------- ------------------------------------
           siz      avm      fre    re    pi    po    fr     sr    cy
   4K   830928   439805   289194     0     0     0     1     20     0

---要仅显示所有受支持的页面大小的 VMM 统计信息中每一页的故障信息:
ufserver[/]#vmstat -P ALL
System configuration: mem=3920MB
pgsz            memory                           page                
----- -------------------------- ------------------------------------
           siz      avm      fre    re    pi    po    fr     sr    cy
   4K   830928   439763   271600     0     0     0     1     20     0
  64K    10787     6742     4045     0     0     0     0      0     0

上一篇:记录一些比较好的网站


下一篇:如何将 Debian Linux 中的默认的 Python 版本切换为替代版本