AIX系统Memory性能评估

AIX内存性能调优
本文介绍了AIX系统中内存性能的评估与调优方法,包括VMM管理、vmstat和svmon命令的使用,以及如何调整关键参数来优化内存性能。
AIX系统Memory性能评估 2 一, VMM的管理简介 2 1.1 空闲列表维护 2 1.2 文件占用内存的比率维护 2 1.3 vmstat命令显示内存中的数据页数 3 二, 使用vmstat确定内存的使用情况 3 2.1 faults故障 4 2.2 memory(内存) 4 2.3 page磁盘交换 4 三, svmon命令 5 3.1 memory段 6 3.2 pg space段 6 3.3 pin 段 6 3.4 inuse 段 6 4, ps命令显示当前运行的进程状态 6 5, 内存的调整 7 AIX系统Memory性能评估 一, VMM的管理简介 内存和交换空间(虚拟内存)一般都是用页面来进行分配和管理的. 在内存中存在两种类型的页面:计算页面(一般为可执行文件段的页面)和文件页面(存储的数据文件的页面). 当我们执行程序或者读入数据的时候, 内存中的页面就逐渐被占用. 当空闲的内存只剩下minfree的时候, vmm的调页进程就被唤醒, 通过调页算法, 将内存中的页面转移到交换空间中. 直到空闲内存达到maxfree, 才停止调页. 1.1 空闲列表维护 在这里, 我们涉及到两个参数: 1, minfree: 最小空闲页链表尺寸. 一旦低于该值, 系统调页进程启动偷页以填充空闲页链表, 保证有足够的内存页面. 偷页就是将不常用的页面替换出去. 2, maxfree: 最大空闲页链表尺寸. 一旦高于该值, 系统停止偷页. 一般情况下, minfree和maxfree通过下面的公式得到. Maxfree=minmum(memory/128,128), minfree=maxfree-8 如果发现空闲列表不足, 可以用下面的方法增加. 在5.2以上的版本中可以通过vmo参数实现. #vmo –o minfree = 1000 –o maxfree = 1008 –P #-P参数使得修改永久生效. 在AIX5.2之前的版本需要使用/usr/samples/kernel/vmtune命令 Vmtune –f 1000 –F 1008 1.2 文件占用内存的比率维护 数据文件占用的内存不会主动释放, 所以容易造成内存的文件页面过高的占用, 导致其他的应用内存使用紧张. 这里有两个参数跟这个占用相关. # vmo -a |grep perm maxperm = 392704 maxperm% = 20 minperm = 98175 minperm% = 5 strict_maxperm = 0 如上所示的两个参数解释如下: 1, minperm: 用户IO文件访问的最小缓冲页数; 2, maxperm: 用户io文件访问的最大缓冲页数; 这里主要与性能相关的是maxperm. Maxperm参数指定了文件页面可以占用内存的上限.调整参数值的方法如下. Aix5.2以上的版本使用vmo命令 #vmo –o maxperm%=80 –o minperm%=20 在Aix5.2之前的版本一样要使用vmtune命令 #vmtune –p 20 –P 80 –P 1.3 vmstat命令显示内存中的数据页数 # vmstat -v |grep perm 5.0 minperm percentage 20.0 maxperm percentage 19.8 numperm percentage 系统调页的规则 1, 如果numperm>maxperm, 则只调出文件页面; 2, 如果numperm conn / as sysdba Connected. SQL> oradebug setospid 487432 Oracle pid: 12, Unix process pid: 487432, image: oracle@i2db (MMNL) SQL> oradebug event 10046 trace name context forever,level 8 Statement processed. SQL> oradebug tracefile_name /oracle/admin/arpdb/bdump/arpdb_mmnl_487432.trc SQL> oradebug event 10046 trace name context off Statement processed. SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production With the Partitioning, OLAP and Data Mining options $ tkprof /oracle/admin/arpdb/bdump/arpdb_mmnl_487432.trc output = arpdb_mm1.txt TKPROF: Release 10.2.0.3.0 - Production on Tue Jul 14 17:31:29 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. $ 5, 内存的调整 具体调整需要结合系统运行的应用程序对症下药,如调整minperm/maxperm将改变内存与PAGING SPACE之间的交换算法,调整minpgahead/maxpgahead将改变内存块请求机制,调整minfree/maxfree将改变内存紧张时的内存清理刷新机制,等等。如果数据库使用裸设备,并且没有太多其他的应用,因为裸设备不需要文件系统的缓存,所以可以降低minperm,maxperm,maxclient的默认值,降低操作系统对内存的不必要的占用。 案例: 计费数据库数据库响应变慢,内存16G,裸设备,却存在很多的PI,PO情况。 在检查与内存相关的系统参数,发现如下问题: minperm% = 20, maxperm% = 80, maxclient% = 80 说明:以上三个参数为系统缺省配置,其表示,使用文件系统时,最多可使用80% * 16G=10.8G,用于缓存所访问的文件。 结论:由于以上参数采用系统缺省配置,文件系统缓存最大可以达到10.8G,在执行大量的文件cp操作后,系统的可用内存量迅速下降,在其后的计费过程中,由于大量page in/page out操作引起系统严重性能瓶颈。 优化: 将maxperm% = 30 ,maxclient% = 30 #vmo –o maxperm%=30 –P #vmo –o maxclient%=30 –P 5.2以前版本 /usr/samples/kernel/vmtune –p 20 –P 30 /usr/samples/kernel/vmtune –t 30
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值