ITPub博客

首页 > 数据库 > Oracle > Oracle在Linux下对内存大页HugePage的实践

Oracle在Linux下对内存大页HugePage的实践

原创 Oracle 作者:巡完南山巡南山 时间:2019-08-06 17:10:15 0 删除 编辑

Oracle在使用Linux大页时需要注意一些细节

1.需要使用SGA内存管理,或者回归9i方式,各个pool手动管理

2.使用memory_target方式管理内存时系统设置的大页无法被oracle使用

3.oracle是否利用了大页,可以通过/proc/meminfo文件查看,同时在alert日志启动时也会记录

4.会提升OS系统的性能,减小huge table页表的大小,减少系统开销

5.有些linux下的oracle在业务繁忙系统响应很慢,就是因为没有合理的使用大页,可以配合OSW数据分析


Linux设置大页方法如下:

1. 关闭所有 oracle 实例

建议在修改大页时关闭数据库实例,也可以节点间分别操作

srvctl stop database -d orcl


2.使用 root 用户在两节点分别修改 /etc/security/limits.conf 文件, 最后添加两行:

oracle hard memlock unlimited

oracle soft memlock unlimited


3.分配 hugepages 内存,使用 root 用户两节点分别修改/etc/sysctl.conf添加如下内容:

大页单位一般是2M,此参数代表数量,本次举例为256G

vm.nr_hugepages = 131074


注:通常设置多少大页使用如下公式计算,除以2代表Hugepage管理下每个大页为2M。

select ceil(SGA_MAX_SIZE(G)*1024/2)+2 from dual;


4. 使用 root 用户执行 sysctl -p 使更生效,并监控其空间分配情况。

sysctl -p

grep Huge /proc/meminfo


5.启动 RAC 集群中所有 Oracle instance

srvctl start database -d orcl


更多技术细节可以参考技术大牛老熊的文章,受益匪浅

https://mp.weixin.qq.com/s/40W-UL7OeSNsdgsUcl5TDg

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

请登录后发表评论 登录
全部评论

注册时间:2016-04-11

  • 博文量
    44
  • 访问量
    46146