Oracle技术服务|系统集成|技术开发

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1472|回复: 0

[讨论] Oracle Swap居高不下处理

[复制链接]

29

主题

0

好友

462

积分

版主

Rank: 7Rank: 7Rank: 7

发表于 2015-3-10 09:52:13 |显示全部楼层

环境描述:

SYSTEM: rhe5.3 x86_64bit
ORACLE:ORACLE 11.1.7.0

内存:8G

现像:

现场运维发邮件回来前端应用缓慢,不时会抛出异常!

分析:

通过查看服务器进程使用情况发现一些进程使用内存相当高,通过vmstat 查询,系统层面已经大量使用Swap交换分区了。说明内存使用不足,系统层面反应也是比较缓慢

vmstat情况:


但查看Oracle进程查询没发现有消耗性能的SQL,

调整:

1:服务器内存:
2:调整/dev/shm
3:调整内核参数
4:调整数据库参数
5:监控DB情况

先为两台服务器增加16G内存,轮流重启服务器,完成内存增加后,修改SGA,hugepage size hugepage_setting.sh查询出vm.nr_hugepages = 6146

节点正常,但节点2不正常,和未增加内存前一样,Swap交换分区被大量使用。

解决:

通过分析及查询资料发现hugepage 没被使用


file:///D:/Program%20Files%20(x86)/qq/2401310709/Image/C2C/M7TL$L7BXNCHYKCX5A1GU_6.jpg


进一步分析 :还是与hugepage设置及系统参数有关:


HugePages配置
进程需要访问内存的数据时,它的虚拟内存地址段先连接到page tables(Page Table是用来存放虚拟内存也和物理内存页对应关系的内存结构),然后再连接到物理内存。所以在访问内存时需要先访问page tables得到虚拟内存和物理内存的映射关系,然后再访问物理内存。page size越小,相应的内存结构也会越大,在RHEL 系统中,缺省为4k为一个单位,则物理内存越大,page tables相对越大。无形增加进程扫描内存的成本。
当物理内存大于8G时,建议使用hugepages配置,Hugepages的常见page size为2M,是4k size的500倍,所以可以大大减小page table的尺寸,提交扫描内存的效率。
同时CPU cache中有一部分TLB(Translation Lookaside Buffer)用来存放部分page table以提高这种装换的速度。因为page size变大了,所以同样大小的TLB,所覆盖的内存大小也变大了。提高了TBL命中率,也就是提高了地址转换的速度。
    HugePages配置方法:
1、在 /etc/security/limits.conf 增加memlock配置
* hard memlock unlimited
* soft memlock unlimited

2、利用官方的提供的脚本hugepages_settings.sh[ID 401749.1],计算需要配置的内存参数
$ ./hugepages_settings.sh  
......
Press Enter to proceed...
Recommended setting: vm.nr_hugepages = 6146

3、修改/etc/sysctl.conf 的项vm.nr_hugepages=6146
     sysctl -p;
     sysctl -a|grep -i huge

4、关闭实例及群集,重启系统。

5、对hugepages配置进行检查:
$ grep -i huge /proc/meminfo
HugePages_Total:  6146
HugePages_Free:     15
Hugepagesize:     2048 kB

6、启动实例及数据库群集。
参考:
HugePages on Oracle Linux 64-bit [ID 361468.1]
Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration [ID 401749.1]


问题解决

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|手机版|DB Support 技术联盟 ( 粤ICP备13057501号-1 )

GMT+8, 2018-4-23 13:25 , Processed in 0.138909 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部