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 内核线程处于运行队列的平均数
%runocc 最近时间段运行队列占用百分比
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对于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没有也许存在不合理的平衡,或者对磁盘操作比较频繁,
AIX 性能调优-内存、CPU篇II
AIX 性能调优-内存、CPU篇II
PS
CPU关联的输出列
C 最近进程使用的CPU时间
-l和-f 产生,产生进程或者线程的CPU利用率,这个值在每个始终周期当发现改井绳或者线程在运行时增长,当这个进程没有使用CPU时这个值
被调度程序以每秒中除以2的速度下降。
TIME 进程从开始花费的CPU总时间
%CPU 进程花费CPU时间/进程开始总时间
-u -v 产生,
MEMORY 关联输出列
SIZE 进程数据区占用虚拟内存大小以KB计
V参数产生,虚拟内存(page space),这个值等于被进程使用工作段页面个数×4,如果一些段页面已经page out,那么此值大于正在被使用的内存部分,SIZE包括了私有段和共享数据段。
RSS 实际内存占用大小以KB计
v产生,进程常驻内存部分,大小等于工作段和代码段页面数×4,代码段肯你刚被多个实例共享。
%MEM 实际内存的占用百分比
u和v产生,rss/realmem*100
PGIN
由于page fault导致page-ins的个数。
TSIZ
文本区大小,也可一通过dump -ov查看
TRS
常驻内存的文本区大小
tprof
svmon 查看当前内存的状态
它产生7种类型的报告:
全局、用户、进程、段、详细的段、命令、负载管理类
global:
svmon -G -i2 5 -z
memory 物理内存使用的统计信息
size 物理内存大小
inuse 被使用的物理内存
free 空闲的物理内存
pin pinned内存大小
virtual 虚拟内存被使用的页面数
stolen 被rmss销减的不可用的内存大小
pg space page space的使用统计信息
size 虚拟内存大小
inuse 虚拟内存使用页面的数量
pin
in use 内存使用子集统计信息
work 工作段使用数量
pers 永久段使用数量
clnt 客户段使用数量
usr:
svmon -U
user 用户名
inuse 被这个用户所占用的实际内存页数量
pin 此用户所使用的固定内存页面的数量
pgsp page space 保留或者被使用的页面数量
virtual 虚拟空间非配的页面数
process:
svmon -P
svmon -Pv -t 10 按照递减顺序排列进程占用内存情况
segment:
svmon -S
detail segment
svmon -D
command:
svmon -C
workload manager:
svmon -W
阅读(649) | 评论(0) | 转发(0) |