AIX系统常用性能监测命令

1.1 Aix vmstat命令解析

1.1.1 概述

vmstat 命令报告内核线程、虚拟内存、磁盘、TrapsCPU 活动的统计数据。

AIX 4.3.2 和更早版本中使用的方法如下:在每个处理器的每一次时钟中断(每个处理器一秒钟 100 次),确定上一个 10 毫秒时间要归入四种类别(usr/sys/wio/idle)中的哪一个。如果在时钟中断的时候,CPU 正忙于 usr 方式,那么 usr 将获取该时钟周期添加到其类别中。如果在时钟中断的时候,CPU 正忙于内核方式,那么 sys 类别获取该时钟周期。如果 CPU 不忙的话,则检测是否有磁盘 I/O 正在进行。如果有任何正在进行的磁盘 I/ O,则累加 wio 类别。如果没有磁盘 I/O 正在进行且 CPU 不忙,则 idle 类别获取该时钟周期。由于所有的空闲 CPU 都被归入 wio 类别,而不管正在等待 I/O 的线程数量,所以会产生夸大的 wio 时间报告。例如,只有一个 I/O 线程的系统可能会报告 90% 以上的 wio 时间,而不管它拥有的 CPU 数量。sar%wio)、vmstatwa)和 iostat% iowait)命令报告 wio 时间。

操作系统 AIX 4.3.3 及其更新版本使用的方法如下:如果一个未完成的 I/O 在空闲的 CPU 上启动,则操作系统 AIX 4.3.3 中的更改将只把该 CPU 标记成 wio。当只有少量线程在进行 I/O 而系统其它部分是空闲的,此方法能报告低得多的 wio 时间。例如,一个有四个 CPU 和一个正在进行 I/O 的线程的系统将报告最多 25% wio 时间。有 12 CPU 和一个正在进行 I/O 的线程的系统只报告最大为 8% wio 时间。NFS 客户机通过 VMM 读取/写入,biods VMM 中花费的等待 I/O 完成的时间现在报告为 I/O 等待时间。

1.1.2 vmstat 命令报告输出及其解析

# vmstat 1 3

System configuration: lcpu=8 mem=32000MB

kthr    memory              page              faults        cpu   

----- ----------- ------------------------ ------------ -----------

 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa

 2  0 3845546 16248   0   1   0   0    0   0 1299 25203 5285 40  3 57  0

 1  0 3845572 16220   0   0   0   0    0   0 966 15702 4526 25  2 73  0

 0  0 3845631 16159   0   0   0   0    0   0 1199 18302 4975 31  2 66  1

#

1.1.2.1 Kthr: kernel thread state(内核线程状态,表示每秒钟在采样间隔时间上对各种队列的内核线程数求得的平均值)

r: 取样期间可运行的内核线程的平均数,包括正在运行的线程和指准备运行但尚在等待运行的进程。如果这个数字大于CPU的数据,至少有一个线程要等待CPU,等待CPU的线程越多,越有可能产生性能影响

b:表示每秒VMM等待队列中的内核线程平均数(等待资源或I/O),这里参考值为2,大于2表示被阻塞列线程数目太多。 

1.1.2.2 Memory(包括虚拟内存和实际内存的信息

avm: 活动的虚拟页面(Active virtual pages,以4k为单位),该值较高并不意味着性能不好。记住,虚拟内存的概念是提供给我们寻址大于实内存容量的能力(一些在 RAM 内存中,而另一些在调页空间中)。但是如果虚拟内存远大于实内存,可能造成过度的页面调度,从而导致延时。如果 avm 小于 RAM,那么当 RAM 中填满文件页时就会引起调页空间的页面调度。这种情况下,调整 minpermmaxperm maxclient 的值可以减少调页空间的页面调度量。

fre: 自由表(free list)的大小。真实内存的大部分被用作文件系统数据的缓存。因此,自由表(free list)的大小保持比较小并不稀奇。

1.1.2.3 Page:页面错误和分页活动的信息。此值为指定时间周期内每秒给定单位的平均值。

re  页面调度程序(Pager)输入输出列表(input/output)列表。

pi  表示每秒钟从Paging Space置换到内存的页数,调页空间是驻留在磁盘上的虚拟内存的一部分。当内存过量使用时,它用作溢出。调页空间由用于存储从实内存中窃取到的工作组页面的逻辑卷组成。当进程访问一个窃取页时,产生了一个缺页故障,这一页必须从调页空间读入内存。这里设置pi的参考值为5,大于5说明内存不足。

po  表示每秒钟从内存置换到Paging Space的页数,无论什么时候窃取工作存储器的一页,如果它仍未驻留在调页空间中或已被修改,那它会被写入调页空间。如果不被再次访问,它会留在页面调度设备中直到进程终止或放弃空间。如果包含在出故障页面中的后续地址引用导致缺页故障,那么这些页面将会由系统个别调进。当一个进程正常终止,任何分配给该进程的调页空间将被释放。 [如果这两列持续大于5,则系统的性能瓶颈很可能是内存不足,而导致交换频繁。]

fr  表示每秒钟页面置换算法释放的页数。当 VMM 页面替换例程扫描页面帧表(Page Frame. TablePFT)时,它使用一些条件选取要窃取的页面以插入到可用内存帧的空闲列表中。

sr  表示每秒钟页面置换算法检查的页数,页面替换算法在可以窃取足够的页面以满足页面替换线程的需要之前可能不得不扫描许多页面帧。

cy  页面置换算法所使用的时钟周期。即表示每秒页面替换代码扫描了 PFT 多少次。因为插入空闲列表可以不需要完全扫描 PFT,并且因为所有的 vmstat 字段报告为整数,这一字段通常为 0 

1.1.2.4 Faults 故障列:样例时间周期中,每秒陷阱(Trap )和中断率的平均值。

in  设备中断次数 ,iostat命令输出更有参考意义。

sy  系统调用次数 ,通过明确的系统调用,用户进程可以使用资源。这些调用指示内核执行调用线程的操作,并在内核和该进程之间交换数据。因为工作负载和应用程序变化很大,不同的调用执行不同的功能,所以不可能定义每秒钟有多少系统调用才算太多。这里设置参考值为10000,超过10000,用户需要注意。

cs  内核线程上下文交换 Kernel thread context switches.[即时间片用完后,再轮到时的上下文计算,如果太高,则要仔细观察]

1.1.2.5  CPUCPU 使用时间百分比细目分类

us  用户进程CPU占用,一个 UNIX 进程可以在用户方式下执行,也可以在系统(内核)方式下执行。当在用户方式下时,进程在它自己的应用程序代码中执行,不需要内核资源来进行计算、管理内存或设置变量。
sy  
系统进程CPU占用 ,这包括内核进程(kprocs)和其它需要访问内核资源的进程所消耗的 CPU 资源。如果一个进程需要内核资源,它必须执行一个系统调用,并由此切换到系统方式从而使该资源可用。例如,对一个文件的读或写操作需要内核资源来打开文件、寻找特定的位置,以及读或写数据,除非使用内存映射文件。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。

id  系统空闲 CPU idle time
wa  
表示IO等待时间,即系统等待未完成的 disk/NFS I/O 请求期间的CPU 空闲时间,

如果ussy之和持续超过90%时,CPU出现了瓶颈。

如果wa长期很高>50,则表示IO太忙,具体看是应用IO多,还是交换分页多,如果是后者,则显示内存不足;如果是前者,则应关注应用的IO性能状况,优化应用与磁盘设备

pc  消耗物理处理器的数目。只在使用共享处理器运行的分区显示(只在微分区环境中显示)

ec  消耗授权容量的百分比。只在使用共享处理器运行的分区显示(只在微分区环境中显示)

1.2 Aix sar命令解析

1.2.1 概述

sar 命令收集、报告、或保存系统活动信息。

sar 命令默认的报告(CPU 使用报告)可能是系统管理员进行系统活动调查必须使用的第一工具,因为它监控着主要的系统资源。

可使用标记选择特定系统活动的信息。不指定任何标记只选择系统单元的活动,指定 -A 标记选择所有的活动。Sar 命令在开始输出统计数据之前,会先输出当前活动的 CPU 和磁盘数目。

1.2.2 命令报告输出及其解析

1.2.2.1 查看CPU 情况

# sar 2 10

AIX Db01 3 5 0001CCCDD600    12/07/07

System configuration: lcpu=8  mode=Capped

10:55:37    %usr    %sys    %wio   %idle   physc

10:55:39      86       4       0      11    4.00

10:55:41      78       4       1      17    4.00

 

%idle   CPU空闲时间的百分比

%sys   CPU使用时间投入到核心进程的百分比

%usr   CPU使用时间投入到用户进程的百分比

physc   消耗物理处理器的数目,只在共享处理器或启用同时多线程的分区上报告

%entc   消耗分配容量的百分比。只在共享处理器的分区上报告

1.2.2.2 查看IO情况

sar -d 10 2

12:11:16     device    %busy    avque    r+w/s   blks/s   avwait   avserv

12:11:26     hdisk0     34      1.0      50      201      0.0       0.0

             hdisk1     41      0.0      64      259      0.0       0.0

其中

%busy 对应的 % tm_act

avque 表示等待IO对列数,其值很高则预示着磁盘有较大瓶颈

r+w/s 对应tpsblks/s是按 0.5Kbytes/s 计算的传输速度

sar -d 最大好处是可以对较长时间的值会有一个总体平均值

 

注意:如果没有请求其他特定内容的选项,sar 命令报告系统单元的活动。如果使用 -P 标记,并且分区使用共享处理器运行,并且如果分配了分区的使用容量,那么,命令则报告带 cpuid U CPU 行,显示全系统(system-wide)未使用的容量。

如果分区使用 uncapped 模式的共享处理器运行,那么,%entc 将报告每个 CPU granted entitled capacity 的百分比,和全系统 CPU 行中 allocated entitled capacity  百分比。

1.2.2.3 查看进程队列情况

# sar -q 2 4

AIX Db01 3 5 0001CCCDD600    12/07/07

System configuration: lcpu=8  mode=Capped

11:00:03 runq-sz %runocc swpq-sz %swpocc

11:00:05    19.0     100     1.0      50

11:00:07     7.0     100               

11:00:09     3.0     100               

11:00:11     4.0     100               

 

命令#sar -q 报告队列统计信息。输出:

runq-sz = 运行队列的平均长度。(运行队列的平均长度就是等待在队列中的进程数目)

%runocc = 运行队列被占用的时间百分比。

swap-sz = 等待被内存页交换的进程的平均数目。

%swapocc = 内存页交换队列被占用的时间百分比。

1.2.2.4 其它情况

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

sar可以针对SMP系统来分别查看CPU使用情况

#sar -P ALL 3 2

AIX testhost 1 5 0050C33A4C00 06/28/05

17:30:02  cpu  %usr  %sys  %wio  %idle

17:30:05  0  38  4  43  15

32  3  49  16

51  3  44  2

53  3  42  2

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/154324/viewspace-545685/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/154324/viewspace-545685/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值