AIX 性能调优-内存、CPU篇

发表于:2007-06-08来源:作者:点击数: 标签:
AIX 性能 调优-内存、CPU篇 sar -P ALL cpu使用情况 sar -a 文件访问情况 dirblk/s 定位文件时被目录访问守护进程读取的快(512b)的个数 iget/s i节点查找系统进程被调用次数 lookuppn/s 目录查找进程找到v节点,并获取路径名的次数 sar -b buffer的活动情

AIX 性能调优-内存、CPU篇

sar -P ALL   cpu使用情况

sar -a 文件访问情况
dirblk/s  定位文件时被目录访问守护进程读取的快(512b)的个数
iget/s    i节点查找系统进程被调用次数
lookuppn/s 目录查找进程找到v节点,并获取路径名的次数

sar -b  buffer的活动情况,包括传输、访问、和命中率
bread/s、bwrit/s 块IO操作的数量
lread/s、lwrit/s 逻辑 IO请求的个数
pread/s、pwrit/s 裸设备IO操作数量
%rcache、%rwrit cache命中率,计算共式为:((lreads-breads)/lreads)*100


sar -c 系统调用情况
exec/s、fork/s  调用和执行系统调用总数
sread/s、swrit/s read/writ 系统调用次数
rchar/s、wchar/s 被read/writ系统调用的字符数量
scall/s  系统调用总数


sar -k 内核进程活动情况
kexit/s 中断的内核进程数
kproc-ov/s 由于进程数的限制无法创建内核进程的次数
ksched/s 被作业分派的内核进程数


sar -m 消息队列和信号灯活动情况
msg/s  IPC消息队列活动情况
sema/s 信号灯活动情况

sar -d 磁盘读写情况

sar -q 队列统计信息
run-sz 内核线程处于运行队列的平均数
%runoclearcase/" target="_blank" >cc 最近时间段运行队列占用百分比
swpq-sz 内核线程等待 页面调度的平均数
%swpocc 交换队列最近活动情况


sar -r 页面调度信息
cycle/s 每秒中页面置换次数
fault/s 每秒中page fault次数
slots   在页空间中空闲页数量
odio/s 每秒中不使用页面空间的磁盘io数


sar -v 进程、内核线程、i节点、和文件表 的状态

sar-w 上下文切换次数

sar -y tty设备活动情况
canch/s  tty输入队列中规范的字符数
mdmin/s  tty modem 中断
outch/s  输出队列字符数
rawch/s  输入队列字符数
revin/s  tty接收中断
xmtin/s  tty传输中断

如果CPU的使用率接近100%(usr+system),可以视为是CPU瓶颈。而如果相当大的时间都花费在IO等待上,那就意味着cpu执行受到了磁盘IO的限制,
而IO瓶颈可能来自于文件访问或者没有足够的内存来分配页面。
注意:系统花费在等待远程文件访问的时间不会记入io 等待时间,如果CPU和IO等待的时间都相当的低,但是响应时间又不是很满意,那应该确认系统
花费多少时间在等待远程io,一直一来aix下没有命令对远程io进行分析,只能通过跟踪数据来观察。


vmstat


vmstat命令报告内核线程,虚拟内存、磁盘、陷阱、和CPU活动情况。
Kthr  线程活动情况
r 运行队列
b 等待队列

memory 虚拟和实际内存使用情况
avm  活动的虚拟页面
fre  空闲的页面,当系统内存大于64MB时,最小值MINFREE为120frames,当内存小于64MB时,最小值为内存以MB计的两倍
     MINFREE和MAXFREE值可以通过vmtune命令来查看

page  page fault和page活动情况,当在内存里分配一个页面时(非NFS或者永久文件页面),其被视为工作页面,工作页面通常包括应用堆栈、
      数据和其他的共享内存段。因此当一个程序栈或者数据区域需要增长时,内存会被被访问,vvm会从ram和页面空间所在设备分配空间。这就意味着
      在内存耗尽之前,页面空间会被使用。
re    页面输入输出列表,每秒中内存回收数量,当页面处于空闲列表且没有被再利用,它就会被回收应为没有新的IO会初始化它,也包括那些没有完成的IO操作但又被VMM使用
      预先读取算法调入内存的页面。
pi    从页面空间page in的页面
po    从页面空间page out的页面

fr    页面空闲(页面重置)
sr    页面被页面调度算法扫描次数
cy    页面调度算法进行调度的时钟周期


faults  陷阱和系统中断率
in    设备中断
sy    系统调用
cs    内核线程上下文切换

CPU  cpu使用情况
usr  用户进程
sys  系统进程
id   cpu空闲时间
wa   等待磁盘IO时间


准则:
r<5,b≈0,
如果fre<MINFREE,将会出现连续不断的页面调度,将导致系统性能问题。
对于page列,re,pi,po,cy维持于比较稳定的状态,PI率不超过5,如果有pagin发生,那么关联页面必须先进行pageout
在内存相对紧张的环境下pagein会强制对不同的页面进行steal操作。如果系统正在读一个大批的永久页面,你也许可以看到po和pi列
会出现不一致的增长,这种情景并不一定表明系统负载过重,但是有必要对应用程序的数据访问模式进行见检查。在稳定的情况下,扫描率和重置率几乎相等,在
多个进程处理使用不同的页面的情况下,页面会更加不稳定和杂乱,这时扫描率可能会比重置率高出。

faults列,in,sy,cs会不断跳跃,这里没有明确的限制,唯一的就是这些值最少大于100

cpu列,us,sys,id和wa也是不确定的,最理想的状态是使cpu处于100%工作状态,单这只适合单用户的情况下。
如果在多用户环境中us+sys》80,进程就会在运行队列中花费等待时间,响应时间和吞吐量就会下降。wa>40表明磁盘io没有也许存在不合理的平衡,或者对磁盘操作比较频繁,

原文转自:http://www.ltesting.net