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. linux每日命令(38):iostat命令

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同 ...

  2. 【Linux高级驱动】I2C驱动框架分析

    1.i2c-dev.c(i2c设备驱动组件层) 功能:1)给用户提供接口 i2c_dev_init  //入口函数 /*申请主设备号*/ register_chrdev(I2C_MAJOR(), &q ...

  3. ASP.NET Core Razor Pages

    Razor 页面是Asp.Net Core2.0新增的一个功能.Razor 页面是 ASP.NET Core MVC 的一个新特性,它可以使基于页面的编码方式更简单高效. 环境:vs2017 .net ...

  4. 按enter键触发登录事件

    $(document).keydown(function(event){ if(event.keyCode==13){ $(".submit").click(); } });

  5. [转]Object.keys()和for in的排序问题

    原文地址:https://www.jianshu.com/p/a086ff48be6e Object.keys()和for in 具有相同的排列顺序 如果属性名的类型是Number,那么Object. ...

  6. CodeIgniter中使用CSRF TOKEN的一个坑

    事情的经过是这样的,一个自动化扫描工具说我的代码中存在XSS漏洞,什么是XSS不懂的朋友可以看这里 我的代码里面开启CodeIgniter框架的CSRF Token,如下: 很简单,更多详情参考CI官 ...

  7. ref和引用类型传参的区别

    引用类型对象本身不改变,只改变对象的属性时,我们在操作同一个对象:(类似c++指针指向的地址) 如果连对象本身都可能会改变,又要保证在操作同一个对象,就用ref传引用类型的对象吧!(类似c++指向一个 ...

  8. Ubuntu 14.04 下搭建SVN服务器 (转载自 http://www.linuxidc.com/Linux/2015-01/111956.htm)-------------我所用到是红色字体

    http://www.linuxidc.com/Linux/2015-01/111956.htm Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get i ...

  9. nginx-启动gzip、虚拟主机、请求转发、负载均衡

    一.启用gzip 1     gzip  on; 2     gzip_min_length 1k; 3     gzip_buffers 4 16k; 4     gzip_http_version ...

  10. PowerDesigner 16PDM显示备注

    默认显示的列是Name及类型 name和code不支持同时显示,设置方法: Tool->Model Options->Name Convention->右侧display中选择显示n ...