ITPub博客

首页 > Linux操作系统 > Linux操作系统 > AIX操作系统性能分析报告

AIX操作系统性能分析报告

Linux操作系统 作者:mdl9630 时间:2014-05-29 14:15:06 0 删除 编辑

CPU

$ vmstat 5 5

$ iostat 5 5

[@more@]

1)CPU

$ vmstat 5 5

System configuration: lcpu=8 mem=7744MB

kthr memory page faults cpu

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

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

1 5 1943309 1817 0 341 109 2018 6836 0 1246 3524 5000 34 3 32 31

1 8 1943312 861 0 23 812 1975 2909 0 1227 776 4348 13 3 45 39

2 6 1945483 1855 0 78 737 1189 1880 0 639 1287 2119 30 1 39 30

2 5 1949024 1921 0 307 73 1002 2973 0 511 3190 1719 57 1 20 22

4 9 1959284 2146 0 400 35 2745 21198 0 824 21885 3045 62 2 12 24

从上面结果看出,CPU的idle在12-45之间,wait在22-39之间,表示目前处于空闲状态的CPU基本属于正常;但是处于等待状态的CPU较多,即有较多的进程在等待获取资源后才能进入CPU运行。

2)内存

$ vmstat 5 5

System configuration: lcpu=8 mem=7744MB

kthr memory page faults cpu

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

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

1 5 1943309 1817 0 341 109 2018 6836 0 1246 3524 5000 34 3 32 31

1 8 1943312 861 0 23 812 1975 2909 0 1227 776 4348 13 3 45 39

2 6 1945483 1855 0 78 737 1189 1880 0 639 1287 2119 30 1 39 30

2 5 1949024 1921 0 307 73 1002 2973 0 511 3190 1719 57 1 20 22

4 9 1959284 2146 0 400 35 2745 21198 0 824 21885 3045 62 2 12 24

从上面看出,avm(激活虚拟内存页)为1.95M*4K=7.8G;fre(物理内存中的空闲页)为1.9k*4k=7.6M,而物理内存有8G,表示物理内存已经被充分利用。

IBM默认采用LATE模式来调度内存和交换空间的使用,即进程需要内存时,则调度数据进入实际物理内存;而在AIX按照“最近最少使用算法”调度该段数据到交换空间时,才分配实际的虚拟内存给此进程。所以物理内存的充分利用是IBM调度机制决定的,并不能确切反映内存是否不足。

而从交换空间的使用达到7.8G看,内存空间略现不足。

Pi 和po 值在23-400之间,表示每秒从内存换入和换出的数据达到102k-1600k,同时fr:sr大部分时间在1:1以上,表示为获得可用的物理内存,需要检查更多的物理内存页。综合结论:内存页面调度频繁,内存容量出现瓶颈。

3)硬盘I/O

$ iostat 5 5

System configuration: lcpu=8 drives=14 paths=2 vdisks=0

tty: tin tout avg-cpu: % user % sys % idle % iowait

0.0 11.7 56.6 1.1 20.2 22.1

Disks: % tm_act Kbps tps Kb_read Kb_wrtn

dac0 0.0 0.0 0.0 0 0

dac0-utm 0.0 0.0 0.0 0 0

dac1 0.0 0.0 0.0 0 0

dac1-utm 0.0 0.0 0.0 0 0

hdisk1 92.3 842.4 210.6 4252 0

hdisk0 74.1 691.8 172.4 3492 0

dac3 0.0 0.0 0.0 0 0

dac3-utm 0.0 0.0 0.0 0 0

dac2 0.0 75.3 12.5 192 188

dac2-utm 0.0 0.0 0.0 0 0

hdisk2 1.8 75.3 12.5 192 188

hdisk3 0.0 0.0 0.0 0 0

cd0 0.0 0.0 0.0 0 0

hdisk4 0.0 0.0 0.0 0 0

从上面看出,hdisk0和hdisk1 (为操作系统安装盘)磁盘利用率达到74%和92%,非常繁忙,同时Kb_read为3000k到4000k每秒,而Kb_wrtn则为0,表示目前系统的主要I/O为读操作。而在hdisk0和hdisk1上各建有8G的页面空间作为虚拟内存,再考虑到1)中pi 和po比较大的情况,可以推论是由于页面空间交换频繁,导致hdisk0和hdisk1的I/O比较高。

综合结论:由于内存瓶颈,导致页面交换频繁,从而导致操作系统盘I/O过量,影响系统响应速度。

但是导致页面频繁交换的根本原因是什么呢?通过分析下面的参数,以及结合AIX操作系统内存调度机制,分析如下:

4) 进一步分析

机器虚拟内存参数设置情况如下:

# vmo -a

maxclient% = 80

maxfree = 1088

maxperm = 1525023 (大约6.1G)

maxperm% = 80

maxpin = 1585972

memplace_unmapped_file = 2

mempools = 2

minfree = 960

minperm = 381255(大约1.5G)

minperm% = 20

nokilluid = 0

vm_modlist_threshold = -1

vmm_fork_policy = 1

# topas 命令的部分结果如下:

Real,MB 7743

% Comp 64.8

% Noncomp 35.9

% Client 36.3

4个参数的解释:

minfree 和 maxfree 参数的值

使用空闲列表的目的是保持跟踪进程终止释放的实内存的页帧,向要求者立即提供页帧,而不是等待页面窃取和与之相连的输入输出的结束。minfree 限制了空闲列表的容量,低于该数值时必须开始窃取页充入空闲列表。当大于maxfree 参数时页窃取会停止。

minperm 和 maxperm 参数的值

操作系统通过把在曾经读写的内存页留在实内存一满足不同要求。如果文件页面在它们的页帧被重新分配前被请求,那就节省了输入输出操作。该文件页面可以来自本地的或远程的(如 NFS)系统。

页帧使用的文件相对用于计算的(工作或程序文本)段的文件的比例是松散地受控于 minperm 和 maxperm 的值的:

如果 RAM 中文件页面所占的百分比高于 maxperm,页面替换的窃取只用于文件页。

如果 RAM 中文件页面所占的百分比低于 minperm,页面替换的窃取同时用于文件页和计算页。

如果 RAM 中文件页面所占的百分比介于 minperm 和 maxperm之间,页面替换只窃取文件页,除非文件页的重调入数量大于计算页数。

其中Noncomp在20%-80%之间,此时内存页交换算法通常只交换文件缓存页,但如果文件缓存页的交换率大于程序页时,程序页也同样被交换。由于SGA属于Comp页,数据文件缓存属于Noncomp页,而在数据大量访问时,文件缓存页的交换率大于程序页(SGA),因此大量的SGA页面被交换;为避免大量SGA页被交换,需要降低maxperm%值到35%以下,这样就只有文件缓存页面被交换,减少了SGA交换的次数。

5)结论

调整maxperm%和minperm%的值,可以将MINPERM和MAXPERM分别设为5%和20%甚至更小,从而使内存更多地被用于Oracle的SGA而不是系统的文件缓存。

具体命令:# vmo -o minperm%=5 -o maxperm%=20

注意:加-p参数可以永久更改系统的配置,否则只改动当前的系统配置,重新启动后则失效。

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

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2014-01-15

  • 博文量
    20
  • 访问量
    33308