Transparent HugePages(透明大页)

1. 介绍

从RedHat6, RedHat7, OL6, OL7 SLES11 and UEK2 kernels开始,透明大页默认是被开启的以便去改善操作系统的内存管理。透明大页与之前版本的传统意义上的HugePages是类似的,最主要的区别在于透明大页是可以在操作系统运行过程中动态设置的然而传统的hugepages是需要重启操作系统才能生效。

RAC环境下透明大页可能会造成不可预知的节点重启和各种性能问题,另外在单实例的环境下透明大页也会造成不可预知的性能问题。所以oracle强烈建议在所有运行oracle数据库的服务器上关闭透明大页。

相关文档:ALERT: Disable Transparent HugePages on SLES11, RHEL6, RHEL7, OL6, OL7 and UEK2 Kernels (文档 ID 1557478.1)

HugePages on Oracle Linux 64-bit (文档 ID 361468.1)

Oracle Linux: Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration (文档 ID 401749.1)

2. 查看透明大页设置

用如下方式检查透明大页是否启用

1.默认是启用状态的,设置是[always]:

# cat /sys/kernel/mm/transparent_hugepage/enabled

[always] never

Note 1:红帽内核,查看的路径与上面不同:

# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

[always] never

Note 2:对于UEK2内核,像2.6.39-400.116.0版本的透明大页已经重内核中移除了,如果该参数没有被编译进内存那么/sys/kernel/mm/transparent_hugepage是不存在的。

2.未启用的设置是[never]:

# cat /sys/kernel/mm/transparent_hugepage/enabled

always [never]

如果"enabled"没有设置成"[never]",那么说明透明大页是启用状态的。

也可以用下面方式进行查看:

grep AnonHugePages /proc/meminfo

如果输出包含一列类似"AnonHugepages: xxxx kB"值大于0kB,那么说明内核正在使用透明大页因为内核正在使用的透明大页仅仅是像堆栈和堆的匿名内存块,AnonHugepages在/proc/meminfo中显示的值是当前内核是用的透明大页值。

3. 禁用透明大页的两种方式

1.在/etc/grub.conf(/boot/grub/grub.conf)中添加如下行信息然后重启服务(这是首选方法):

transparent_hugepage=never

一旦修改了我们就可以看到如下类似内容:

title Oracle Linux Server (2.6.32-300.25.1.el6uek.x86_64)

root (hd0,0)

kernel /vmlinuz-2.6.32-300.25.1.el6uek.x86_64 ro root=LABEL=/ transparent_hugepage=never

initrd /initramfs-2.6.32-300.25.1.el6uek.x86_64.img

2.在/etc/rc.local中添加如下内容然后重启服务(在红帽7版本中虽然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

在红帽内核文件路径为/sys/kernel/mm/redhat_transparent_hugepage/ accordingly。

注:

在SLES11 SP3操作系统环境下transparent_hugepage=never参数必须设置在YAST-bootloader- Edit settings - in line: optional kernel parameter [before showopts].

Transparent HugePages(透明大页)的更多相关文章

  1. Linux关闭透明大页配置

      一.为何要关闭透明大页 A--MOS获取 . #翻译 由于透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面. 另外,即使在单实例数据库环境 ...

  2. oracle之 关闭透明大页

    方法一: 1.设置/etc/grub.conf文件,添加 transparent_hugepage=never ,在系统启动是禁用 [root@hbdw1 ~]# cat /etc/grub.conf ...

  3. 禁用Linux透明大页

    Oracle 安装时官方建议关闭Linux的透明大页,防止内存延迟分配导致的性能问题 https://docs.oracle.com/cd/E11882_01/install.112/e47689/p ...

  4. redhat linux 7.4关闭透明大页

    每一步: 在GRUB_CMDLINE_LINUX加入选项 transparent_hugepage=never echo 'GRUB_CMDLINE_LINUX="transparent_h ...

  5. linux关闭透明大页

    echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transpare ...

  6. Linux 关于Transparent Hugepages的介绍

    透明大页介绍 Transparent Huge Pages的一些官方介绍资料: Transparent Huge Pages (THP) are enabled by default in RHEL ...

  7. Linux 关于Transparent Hugepages的介绍【转】

    透明大页介绍 Transparent Huge Pages的一些官方介绍资料: Transparent Huge Pages (THP) are enabled by default in RHEL ...

  8. OpenStack 高性能虚拟机之大页内存

    目录 文章目录 目录 前文列表 虚拟存储器系统 页式虚拟存储器 大页内存 Linux 的大页内存 大页的实现原理 大页内存配置 透明巨型页 THP 大页面对内存的影响 Nova 虚拟机的大页内存设置 ...

  9. Thermostat:双层存储结构的透明巨页内存管理机制

    这是一篇由密歇根大学的Neha Agarwal 和 Thomas F. Wenisch,发表在计算机系统顶会ASLOS的论文,Thermostat: Application-transparent P ...

随机推荐

  1. 怎样找回被删除的EXCEL

    我使用的是腾讯管家进行文件恢复,步骤如下: (1)打开电脑管家,选择工具箱. (2)找到文件找回,点击. (3)选择恢复被删除的文件. (4)选择我们删除的文件. (5)文件还原后路径,点击“确认还原 ...

  2. Android开发(十八)——头部、中部、底部布局技巧

    头部.中部.尾部布局涉及到布局内容自适应,总结两个技巧: 第一种相对布局: <?xml version="1.0" encoding="utf-8"?&g ...

  3. 【iCore1S 双核心板_FPGA】例程四:TCL脚本实验——配置引脚

    代码包下载: 链接:http://pan.baidu.com/s/1o8G62im 密码:j0iq

  4. STM32f103的数电采集电路的DMA设计和使用优化程序

    DMA,全称为:Direct Memory Access,即直接存储器访问.DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直 ...

  5. (转载)Redis5.0重量级特性Stream尝鲜

    转 导读:Redis5.0最新重点推出了Stream的支持,给众多架构师在消息队列方面带来了新的选择,特别是Redis粉丝们绝对是一个福音.那么Redis的Stream有哪些特别的功能?跟kafka有 ...

  6. Java知多少(3) 就业方向

    Java的就业前景如何,看培训班就知道了,以Java培训为主的达内,已经上市. 根据IDC的统计,在所有软件开发类人才的需求中,对JAVA工程师的需求曾达到全部需求量的50%以上.而且,JAVA工程师 ...

  7. websphere 删除文件

    META-INF 文件夹下加入ibm-partialapp-delete.props即可 里面添加路径 如WEB-INF/xxx/xxx.xxx

  8. 和我一起学Effective Java之类和接口

    类和接口 使类和成员的可访问性最小 信息隐藏(information hiding)/封装(encapsulation):隐藏模块内部数据和其他实现细节,通过API和其他模块通信,不知道其他模块的内部 ...

  9. Android异步处理系列文章四篇之一使用Thread+Handler实现非UI线程更新UI界面

    目录: Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+L ...

  10. redis mongodb mysql 三大数据库的更简单的批量操作。批量任务自动聚合器。

    1.redis mongodb mysql的python包都提供了批量插入操作,但需要自己在外部对一个例如1000 001个任务进行分解成每1000个为1个小批次,还要处理整除批次数量后的余数,如果做 ...