个人笔记:ORACLE大页内存hugepage和SGA、PGA的经验,SGA并不是越大越好

本文探讨了在ORACLE 11.2环境下,由于SGA和PGA设置过大导致的内存问题。通过分析系统警告,指出每个进程的内存消耗和页表占用。解决方案包括控制SGA与PGA的比例,启用大页内存(hugepage)以优化性能,并详细介绍了设置hugepage的步骤,强调合理设置避免浪费。同时,讨论了Linux的内存OverCommit机制及其三种策略。
摘要由CSDN通过智能技术生成

背景:ORACLE 11.2,SGA 64G,PGA 8G,压测出现操作系统内存耗尽
WARNING: Heavy swapping observed on system in last 5 mins.
pct of memory swapped in [1.94%] pct of memory swapped out [1.32%].

分析:
1、连接到数据库的每个系统连接进程大概会占用10M左右,1000个连接那么也就接近10G了;
2、在32位系统下,一个进程访问1GB的内存,会产生1M(110241024/44/1024/1024)的页表,如果是在64位系统,将会增大到2M。
SGA设置为64G,有1000个ORACLE用户进程(在linux中每个进程页表独立,都有自己的页表),64位LINUX的系统上,最大的页表占用内存为:64
2*1000/1024=125G;

解决方法:
1、控制SGA大小, sga+pga最好控制在50%物理内存以内,pga内存不要操作sga内存的20%;
2、当主机的物理内存为64G,设SGA>=32G时,建议开启大页;
内存都是以页的形式划分的,默认情况下每页是4K,这就意味着如果物理内存很大,则映射表的条目将会非常多,会影响CPU的检索效率。因为内存大小是固定的,为了减少映射表的条目,可采取的办法只有增加页的尺寸。
在Linux中配置hugepage可以提高oracle的性能,减少oracle sg

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值