开发者社区> 寒凝雪> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Huge page使用的一些问题

简介:
+关注继续查看

12c的数据库在安装的时候,有一个检查项目,叫做Maximum locked memory check。


这是要求设置/etc/security/limits.conf中的memlock的值,官方文档在11g要求是设置比物理内存稍小的一个值,在12c中要求至少为90%的物理内存。


而memlock的设置,是启用huge page的一部分。开启hugepage在大内存大sga的环境下,可以提供系统的性能。


启用hugepage需要设置/etc/security/limits.conf和vm.nr_hugepages(Doc ID 361468.1)


注1:


在asm中,当启用hugepage时oracle建议asm的SGA增大到至少2G,设置hugepage至少1300个以上的大页面(Doc ID 2111010.1)

在Exadata中,默认启用了hugepage,且安装Exadata的时候,就默认禁用了asm的AMM(PGA不使用hugepage,这也是为什么使用hugepage不能同时使用AMM,只能使用ASMM的原因。因为AMM是自动管理SGA+PGA。而hugepage不能被PGA使用。),设置了SGA大小为2G。(Doc ID 1681467.1)。


上述的大小只是一个大概的估算值,如果需要计算大小,也是可以计算的。asm的shared pool的大小,在150M的基础上,external冗余的disks,每增加100G的空间大小,需要额外的1M内存(Doc ID 437924.1)


注2:


在12c中grid中多了一个MGMTDB来记录GI资源信息,这个DB的SGA使用,也要考虑看hugepage的配置中。不过由于mgmtdb不确定会跑在那个节点上,在Exadata的health check检查项目中,是建议把mgmtdb使用hugepage属性关闭的。(Doc ID 1274318.1)


注3:


还有一个参数pre_page_sga,在9i~11g中默认值是false,在12c中默认值是true。在12c之前,默认值false可以避免在进程启动时,access sga中所有的page页面加快进程的启动速度(见connection management call elapsed time)。而在12.1之后,算法发生了改变,设置为true和false几乎没有差别。


注4:


上面说的hugepages,指的是regular hugepages,而对于transparent hugepages,我们是需要禁用的。见Disable Transparent HugePages on SLES11, RHEL6, RHEL7, OL6, OL7, and UEK2 and above (Doc ID 1557478.1)。


regular hugepages是提前分配,不是动态分配,transparent hugepages是通过khugepaged线程动态配置的,这可能会导致Oracle运行过程中出现一些奇怪的问题,Oracle建议关闭Transparent HugePages功能。


注5:


放在small pages上的sga,不会直接占用物理内存(这样应该是在page fault时才会申请物理内存)。即ipcs -am看到占用的内存的是在vm中,不是在RSS中,实际物理内存中。


所以:
(1)oracle推荐在大内存大sga的情况下,使用hugepage。文档上说是大于8G物理内存(Doc ID 361468.1);在实际使用中,客户如果超过64G内存,我们一般都推荐使用。


(2)对于asm我们可以设置sga至少2G,同时注意要求至少1300个以上的大页面。


(3)对于mgmtdb,我们可以设置use_large_pages=false禁用mgmtdb使用hugepage。


(4)如果多个数据库共享一个主机,但是如果我们提前把hugepage的配置能覆盖到所有instance,那么就不存在什么问题。在11g中,有use_large_page参数,默认值为true。即默认尝试配合OS使用hugepage。但是在11.2.0.2的时候,如果hugepage不够cover sga,会导致数据库启动不了。在11.2.0.3以后,oracle会在hugepage不够的情况下,将使用small page来弥补剩余的page,从而启动数据库(Doc ID 1392497.1)


(5)禁用transparent hugepages(Doc ID 1557478.1)


本文来自云栖社区合作伙伴“DBGEEK”

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
5G NR Paging 寻呼
寻呼消息由PCCH逻辑信道承载,PCCH逻辑信道的数据块又是由PCH传输信道来承载,而PCH传输信道的数据块又是由PDSCH物理信道来承载的。
141 0
基于阿里云云起实验室的使用PAI基于协同过滤算法实现商品推荐
基于阿里云云起实验室的使用PAI基于协同过滤算法实现商品推荐
41 0
阿里云多款产品自5月起实行价格调优,各位看官请自行pick
今年上半年云计算市场十分热闹,多家大企业在纷纷向云技术领域发力的同时,也对旗下云产品进行多次调价,尤其是阿里云几乎在每场云栖大会上都有产品宣布降价,且幅度较大。近日,阿里云再次宣布优化收费模式,有多款产品自5月起实行价格调整,小编就为大家在此汇总一番。
1708 0
质量m与消费者利益之水与钻石悖论
质量m与消费者利益之水与钻石悖论 在需求定律公式Q=K(B-P)中,消费者利益B与质量m正相关,但不一定成正比例。质量m增加一倍,但消费者利益不一定增加一倍,并且消费者利益有上限,质量m没有上限。
982 0
【沉淀】特步CIO唐坤军:特步上云,最难的地方是组织流程的调整
2016年的特步,有了更长足的发展。亮眼成绩的背后,是特步拥抱云计算、大数据等新技术的结果。使用阿里云AliWare,不仅让特步建成“五统一”的共享中心,还让特步实现线上和线下相互配合和支持,给用户带来最好的体验。
3221 0
特步CIO唐坤军:特步上云,最难的地方是组织流程的调整
2016年的特步,有了更长足的发展。亮眼成绩的背后,是特步拥抱云计算、大数据等新技术的结果。使用阿里云AliWare,不仅让特步建成“五统一”的共享中心,还让特步实现线上和线下相互配合和支持,给用户带来最好的体验。
5935 0
Shell 利用 curl 模拟登陆
-b 参数 指定使用cookie文件 -c是往cookie文件中写cookie -d 是指定此次登录所需的参数,通过httpfox查看 -L 指定页面自动跳转 #curl -c ck.txt --user-agent Mozilla/4.
1346 0
+关注
5851
文章
223
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载