在AIX 5.3+Oracle 10.2.0.4 平台上将SGA PIN在内存中,并使用大页内存

首先检查AIX版本,修改一些系统参数:
[xfxyxh][/]#oslevel -s
5300-09-01-0847
符合操作系统5.3 ML01以上的要求。

接着修改系统参数:
[xfxyxh][/]#vmo -p -o v_pinshm=1
[xfxyxh][/]#vmo -p -o minperm%=5
[xfxyxh][/]#vmo -p -o maxperm%=90
[xfxyxh][/]#vmo -p -o maxclient%=90
[xfxyxh][/]#vmo -p -o maxpin%=90
[xfxyxh][/]#vmo -p -o lru_file_repage=0

如果要使用大页内存,还需要修改下面两个系统参数:
[xfxyxh][/]#vmo -r -o lgpg_regions=310 lgpg_size=16777216
其中lgpg_regions=310是根据metalink上的文档结合SGA大小计算出来的:
num_of_large_pages = INT((total_SGA_size-1)/16MB)+1
然后运行:
[xfxyxh][/]#bosboot -ad /dev/ipldevice
[xfxyxh][/]#reboot -q

在Oracle 10.2.0.4版本上,不能简单的设置lock_sga=true就将SGA PIN在内存了,还需要做一些额外的工作:
chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGAE oracle
给oracle用户添加这两个capability。

启动oracle数据库之前系统的内存使用情况:
[xfxyxh][/]#svmon -G
bb

[xfxyxh][/]#vmstat -l 1 5
339291_200909221527231.jpg

由上可见4K的page有358164个pin在内存中,310个16M的大页内存一个也没使用。
启动oracle数据库,再看:
[xfxyxh][/]#svmon -G
339291_200909221536071.jpg

[xfxyxh][/]#vmstat -l 1 5
339291_200909221537051.jpg

4K的page pin在内存中的由358164个增加到1934932个,而16M的大页内存inuse的为0,alp、flp也证实了这点。
为什么oracle不使用大页内存呢?原来还需要告诉oracle使用大页内存:
[xfxyxh][/]#export LDR_CNTRL=LARGE_PAGE_TEXT=Y@LARGE_PAGE_DATA=M
重启数据库,监控一下内存:

[xfxyxh][/]#svmon -G
339291_200909221604271.jpg

[xfxyxh][/]#vmstat -l 1 5
339291_200909221605001.jpg

可见16M的大页内存inuse的为288,剩余22个,大页内存生效了

另外验证了一下对于普通的oracle连接是否也使用大页内存,如果普通oracle连接也使用16M的大页内存那对资源、对性能都有很大影响。
1、首先使用sqlplus通过监听连接到该库;
2、查找出该连接的PID,假设为503920;
3、svmon -P 503920
339291_200909221705231.jpg

可见第一行的16M标志为N,而其中有一行
    0         0 work kernel segment (lgpg_vsid=0) L     16    16    0    16
显示使用了16M的大页内存,这个我在没有使用大页内存而且没有将SGA PIN在内存中的系统上也存在,所以我认为是没有使用16M大页内存。
这个大家如果有其他见解欢迎讨论。

fj.png1.jpg

fj.png2.jpg

fj.png3.jpg

fj.png4.jpg

fj.png5.jpg

fj.png6.jpg

fj.png7.jpg

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

转载于:http://blog.itpub.net/339291/viewspace-615331/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值