关闭透明大页的原因及方法

Oracle Rac关闭透明大页的原因及方法

Oracle Rac:关闭透明大页的原因及方法

【前言】在 Oracle 安装之前的准备工作中,有一项必须的工作是:禁用透明巨页(Disabling Transparent HugePages)。

那问题来了:为什么要关闭透明大页? 以及怎么进行禁用?

先来看下比较权威的介绍:
https://blogs.oracle.com/linux/post/performance-issues-with-transparent-huge-pages-thp
在这里插入图片描述
在这里插入图片描述

划重点:
根据上述文中标红处,简单来说就是 Oracle Linux team 在测试的过程中发现,如果 linux 开启透明巨页THP,则 I/O 读写性能降低 30%;如果关闭透明巨页 THP,I/O 读写性能则恢复正常。另,建议在 Oracle Database 中不要使用 THP。

接下来看下透明巨大页面是个嘛?

Linux 下的大页分为两种类型:标准大页(Huge Pages)和透明巨页(Transparent Huge Pages)。

1). 标准大页(Huge Pages)是从 Linux Kernel 2.6 后被引入的。目的是用更大的内存页面(memory page size) 以适应越来越大的系统内存,让操作系统可以支持现代硬件架构的大页面容量功能

2). 透明巨页(Transparent Huge Pages)缩写为 THP,透明超大页面(THP)在 RHEL 6 中默认情况下对所有应用程序都是启用的。内核试图尽可能分配巨大的页面,主内核地址空间本身被映射为巨大的页面,减少了内核代码的 TLB 压力。内核将始终尝试使用巨页来满足内存分配。如果没有可用的巨大页面(例如由于物理连续内存不可用),内核将回退到正常的 4KB 页面。THP 也是可交换的(不像 hugetlbfs)。这是通过将大页面分成更小的 4KB 页面来实现的,然后这些页面被正常地换出。

两者区别在于大页的分配机制,标准大页管理是预分配方式,而透明巨页管理则是动态分配方式。目前透明巨页与传统大页混合使用会出现一些问题,导致性能问题和系统重启。ORACLE 官方不建议在使用 RedHat 6, OEL 6, SLES 11 and UEK2 kernels 时开启透明巨页(THP),因为透明巨页存在一些问题:

  1. 在 RAC 环境下,透明巨页(THP)会导致异常节点重启和性能问题;
  2. 在单机环境中,透明巨页(THP)也会导致一些异常的性能问题;
    在 Linux6.x 之后的平台,在安装 Oracle 时都建议关闭透明巨页。
    默认情况下,Red Hat Enterprise Linux 6,SUSE Linux Enterprise Server 11 和 Oracle Linux 6 与早期版本的 Oracle Linux Unbreakable Enterprise Kernel 2(UEK2)内核一起启用透明 HugePages 内存。在 Oracle Linux UEK2 内核的更高版本中禁用透明 HugePages 内存,Transparent HugePages 可能导致运行时内存分配延迟。

为避免性能问题,Oracle 建议您在所有 Oracle 数据库服务器上禁用透明超大页面。Oracle 建议您使用标准的 HugePages 来提高性能.Transparent HugePages 内存与标准 HugePages 内存不同,因为内核khugepaged 线程在运行时动态分配内存。标准 HugePages 内存在启动时预先分配,并且在运行时不会更改。

下一个问题:

如何关闭透明巨页(THP)?

Linux7 默认情况下 是开启透明巨页功能的。检查系统对应版本

[root@ethanDB ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.2 (Maipo)

Disabling Transparent HugePages

[root@ethanDB ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

默认情况下,状态为always,需要调整为never

THP禁用方的几种方法

方法1:

[root@ethanDB ~]# vi /etc/default/grub
GRUB_CMDLINE_LINUX=“rd.lvm.lv=rhel/swap rd.lvm.lv=rhel/root rhgb quiet transparent_hugepage=never”
在这里插入图片描述
运行下列命令使之修改生效:

[root@ethanDB ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

方法2:

上面的方法重启之后好像并没生效,可用以下方法:

或:Add the following lines in /etc/rc.local and reboot the server:

[root@ethanDB ~]#vi /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

[root@ethanDB ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]

方法3:

[root@ethanDB ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@ethanDB ~]# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always madvise [never]

查看是否关闭透明巨页

[root@ethanDB ~]# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always madvise [never]

如果输出结果为[always]表示透明巨页启用了。[never]表示透明巨页禁用;

[root@ethanDB ~]# grep -i HugePages_Total /proc/meminfo

如果HugePages_Total,返回0,也意味着透明巨页禁用了

[root@ethanDB ~]# cat /proc/sys/vm/nr_hugepages
返回0也意味着透明巨页禁用了。

【结语】

本文讲述了Oracle 禁Transparent HugePages的原因和方法;

从RedHat 6,OEL 6,SLES 11和UEK2内核开始,系统缺省会启用 Transparent HugePages,用来提高内存管理的性能透明巨页(Transparent HugePages )和之前版本中的大页功能上类似。主要的区别是:Transparent HugePages 可以实时配置,不需要重启才能生效配置;

透明HugePages类似于以前Linux版本中可用的HugePages。主要区别在于透明HugePages是在运行时由内核中的khugepaged线程动态设置,常规的HugePages必须在启动时预先分配。

透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面。即使在单实例数据库环境中,也会出现意外的性能问题或延迟。

【参考】

https://www.2cto.com/database/201804/735762.html

【参考】

https://access.redhat.com/solutions/422283

【参考】

https://blogs.oracle.com/linux/performance-issues-with-transparent-huge-pages-thp

【参考】

https://blog.51cto.com/8026776/2074544
————————————————
版权声明:本文为CSDN博主「db_murphy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/db_murphy/article/details/97052915

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 云南茶山位于云南省曲靖市宣威市,东西跨江,北接滇池,南接大理市,是云南省茶叶的发源地,是中国著名的茶叶之乡。茶山原名叫茶城,古时候有“三茶一石”之称,即茶山、茶城两座山,加上一块大石,因此得名。茶山以其独特的茶文化、历史文化和自然风景吸引着海内外游客,是一个具有浓郁的茶文化气息的绿色旅游景点。茶山以它的深厚的文化底蕴、美丽的自然风光和独特的民族风情深受游客的喜爱。茶山的风景独特,是一个绿色的森林公园,有空旷的茶园、茶山、茶山湖、茶厂、民居和古迹等,是云南省最大的茶叶生产基地。茶山有众多的历史文物,如景福寺、海拔殿、滇池殿、山西院等,历史悠久,非常值得一游。茶山也是云南省茶叶的发源地,以其独特的茶文化、历史文化和自然风景吸引着海内外游客,是一个具有浓郁的茶文化气息的绿色旅游景点。茶山还有著名的山茶花,每年的三月份到五月份是山茶花的盛开期,是观赏山茶花的最佳时机,可以看到满山遍野的山茶花,芳香四溢,令人流连忘返。茶山是一个具有独特风景和茶文化的绿色旅游胜地,可以让游客领略到古朴的茶文化,给游客留下深刻的印象。 ### 回答2: 云南茶山位于中国云南省西双版纳傣族自治州勐海县,是中国最著名的茶叶产区之一。云南茶山是云南丰富优质茶叶资源的核心地带,茶园分布在海拔1400米至1800米的山坡上,土壤肥沃,气候温暖湿润,适宜茶树生长。茶山遍布云贵高原的低海拔山地,地形起伏多变,形成了独特的茶树生态。 云南茶山以菜籽油树林下茶园为特色,这种种植模式具有独特的生态优势,能够充分利用土壤、气候和生态环境资源,为茶树提供了良好的生长环境。而菜籽油树林也可以提供树荫,保护茶树不受强光直射,并减少土壤水分的蒸发,提高茶叶品质。 云南茶山以普洱茶为代表,普洱茶是中国六大茶类之一,有着悠久的历史和独特的工艺。普洱茶的采摘、制作、贮存和饮用都有严格的要求和程序。其茶树品种主要有大叶种和中小叶种,茶叶形状多样,有饼茶、沱茶、砖茶、散茶等。普洱茶口感醇厚,香气独特,有降脂减肥、抗氧化、降压、提神醒脑等功效,深受茶叶爱好者的喜爱。 除了普洱茶,云南茶山还产出其他优质茶叶,如滇红茶、云南白草茶、黑兔毛茶等。这些茶叶在国内外市场上都有着较高的知名度和需求量。 云南茶山的旅游资源也十分丰富,茶山风光如画,茶园群山环抱,绿意盎然,吸引了大批游客前来观光和品茶。旅游者可以在茶园中亲自体验采茶和制茶的过程,了解茶叶的生产工艺和茶文化。同时,云南茶山还有许多古茶树群落,这些具有几百年甚至千年以上历史的茶树古树,是茶叶品质的保证,也是茶文化的重要组成部分。 综上所述,云南茶山作为中国茶叶产区之一,以其独特的生态环境和种植模式,优质的茶叶品种和精湛的制作工艺,以及丰富多样的旅游资源,成为茶叶爱好者和游客们不可错过的地方。云南茶山的产茶历史悠久,是中国茶文化的重要组成部分,也是云南省重要的农业和旅游产业之一。 ### 回答3: 云南茶山位于中国云南省西南部地区,是中国著名的茶叶产区之一。茶山地区地势起伏,气候多样,土壤肥沃,是茶叶生长的理想环境。 云南茶山的主要茶叶品种有普洱茶、滇红茶、云南绿茶等。普洱茶以其特殊的发酵制造技艺而闻名,色泽红润,滋味浓郁,具有良好的陈化潜力。滇红茶则为红茶中的代表,茶叶呈现红褐色,滋味醇厚,带有果香和花香气息。云南绿茶则以其嫩绿的外观、清香的口感和鲜爽的回甘赢得了众多茶叶爱好者的喜爱。 云南茶山的茶叶种植历史悠久,可以追溯到公元前2世纪左右。受益于云南独特的地理环境和气候条件,在此地茶树的生长速度较快,茶叶的品质也非常优良。茶山地区的高海拔和丰富的降水量为茶树提供了充足的水源,而茶园周围的山脉则保护了茶叶的生长环境,使其不受污染。 茶山的茶叶栽种以手工采摘为主,采摘过程中只选择嫩叶,以确保茶叶的质量和口感。采摘后的茶叶经过日光萎凋、揉捻、发酵、干燥等工序后,最终成为优质的茶叶产品。 云南茶山的茶叶不仅在国内畅销,也出口到世界各地。当地的茶叶产业为当地农民提供了就业机会和增加收入的途径,对地方经济的发展有着积极的影响。 总之,云南茶山凭借其独特的生态环境和理想的气候条件,生产出了许多优质的茶叶品种。这些茶叶不仅具有浓郁的香气和独特的口感,还具有丰富的营养成分。云南茶山的茶叶产业在国内外市场上受到了广泛的认可和青睐。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值