大页(huge pages) 系列四 ---Transparent HugePages

从RedHat 6, OEL 6, SLES 11 and UEK2 kernels 开始,系统缺省会启用 Transparent HugePages  :用来提高内存管理

的性能透明大页(Transparent HugePages )和之前版本中的大页功能上类似,主要的区别是:Transparent HugePages 可以实时配置,

不需要重启才能生效配置;

透明大页(Transparent HugePages )主要是利用khugepaged thread,而以前的 大页是通过在系统启动时来预分配实现;

但是,oracle 官方不建议我们使用RedHat 6, OEL 6, SLES 11 and UEK2 kernels 后的 透明大页(Transparent HugePages ),

因为透明大页(Transparent HugePages ) 存在一些问题:

1.在RAC环境下 透明大页(Transparent HugePages )会导致异常节点重启,和性能问题;

2.在单机环境中,透明大页(Transparent HugePages ) 也会导致一些异常的性能问题;

----以红帽6.0 为例:

方法一:

缺省启用:[always] --- 表明启用了透明大页

[[email protected] redhat_transparent_hugepage]# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

[always] madvise never

禁用状态:

[[email protected] redhat_transparent_hugepage]# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

always madvise [never]

方法二:

[[email protected] redhat_transparent_hugepage]#  grep AnonHugePages /proc/meminfo

AnonHugePages:    143360 kB

如果 AnonHugePages > 0 同样表示启用了透明大页;

----如何禁用透明大页

方法一(优先选择):

在 /etc/grub.conf 中添加一行记录:

transparent_hugepage=never

然后重启

方法二:

配置/etc/rc.local 然后重启服务器:

if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

fi

if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

fi

时间: 2024-10-06 19:34:22

大页(huge pages) 系列四 ---Transparent HugePages的相关文章

大页(huge pages) 三大系列 ---计算大页配置参数

使用以下shell 脚本来计算大页配置参数,确保使用脚本实例之前的数据已经开始, 如果数据库的版本号11g,确认是否使用自己主动的内存管理(AMM) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #!/bin/bash # # hugepages_settings.sh # # Linux bash script to compute values fo

Linux透明大页(Transparent Huge Pages)对ES性能对影响

上周对ES集群进行扩容,运维同学找了几台物理机部署data node,结果发现新的data node比以前的data node性能差很多.同样的data node配置,同样的查询量,测试结果:CPU低,load非常高,diskIO打满. 最后通过对比系统配置,发现区别是新加入的物理机以前是跑MongoDB的,按官方建议关闭了透明大页(THP),而老机器的透明大页是开启的,遂把THP enable.重启.果然data node性能恢复正常.以前读到的ES相关文档中似乎没有涉及到THP的,不过在对T

redis启动后出现"WARNING you have Transparent Huge Pages (THP) support enabled in your kernel"问题

问题描述:启动redis后出现:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as

大页内存(HugePages)

原文转载自:http://blog.csdn.net/yutianzuijin/article/details/41912871 今天给大家介绍一种比较新奇的程序性能优化方法—大页内存(HugePages),简单来说就是通过增大操作系统页的大小来减小页表,从而避免快表 缺失.这方面的资料比较贫乏,而且网上绝大多数资料都是介绍它在Oracle数据库中的应用,这会让人产生一种错觉:这种技术只能在Oracle数据库中 应用.但其实,大页内存可以算是一种非常通用的优化技术,应用范围很广,针对不同的应用程

大页内存(HugePages)在通用程序优化中的应用

今天给大家介绍一种比较新奇的程序性能优化方法-大页内存(HugePages),简单来说就是通过增大操作系统页的大小来减小页表,从而避免快表缺失.这方面的资料比较贫乏,而且网上绝大多数资料都是介绍它在Oracle数据库中的应用,这会让人产生一种错觉:这种技术只能在Oracle数据库中应用.但其实,大页内存可以算是一种非常通用的优化技术,应用范围很广,针对不同的应用程序,最多可能会带来50%的性能提升,优化效果还是非常明显的.在本博客中,将通过一个具体的例子来介绍大页内存的使用方法. 在介绍之前需要

Linux HugePages及MySQL 大页配置

http://blog.csdn.net/dba_waterbin/article/details/9669929 ㈠ HugePages简介             HugePages是kernel 2.6引入以便适应越来越大的物理内存        在Linux下.page size默认是4K.如果使用HugePages.默认是2M             再看2个术语:        page table 映射表:物理内存和swap的对应关系.访问内存是先读page table.根据表里的

kvm 优化特性:ksm技术,大页内存等

参考: http://tech.it168.com/a2016/1101/3005/000003005933.shtml(ksm) http://www.cnblogs.com/dongzhiquan/p/5043912.html(大页内存优点) <kvm虚拟化技术 实战与原理解析> 简介: cow:copy on write,也就是写时复制.这是一种内存共享技术,在linux中当使用fork 函数创建一个进程时,子进程和父进程共享全部的内存,当这片共享的内存区域被进程试图修改的时候,内核会分

oracle之 关闭透明大页

方法一: 1.设置/etc/grub.conf文件,添加 transparent_hugepage=never ,在系统启动是禁用 [[email protected] ~]# cat /etc/grub.conf # grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: You have a /boot partit

sed修炼系列(四):sed中的疑难杂症

本文目录:1 sed中使用变量和变量替换的问题2 反向引用失效问题3 "-i"选项的文件保存问题4 贪婪匹配问题5 sed命令"a"和"N"的纠葛 1.sed中使用变量和变量替换的问题 在脚本中使用sed的时候,很可能需要在sed中引用shell变量,甚至想在sed命令行中使用变量替换.也许很多人都遇到过这个问题,但引号却死活调试不出正确的位置.其实这不是sed的问题,而是shell的特性.搞懂sed如何解决引号的问题,对理解shell引号问题有