php disable hugepage,Linux的Transparent Hugepage与关闭方法

Transparent HugePages是在运行时动态分配内存的,而标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变。

因为Transparent HugePages是在运行时动态分配内存的,所以会带来在运行时内存分配延误。所以ORACLE是建议不使用Transparent HugePages功能的,如果需要大页内存管理功能来加强性能,建议使用标准的大页内存管理。

MYSQL的TOKUDB强制必须关闭Transparent HugePages功能,否则启动不了数据库。

下面是ORACLE官方的文档:

下面有关于Transparent HugePages查看和关闭的方式

https://docs.oracle.com/cd/E11882_01/install.112/e41961/memry.htm#CWLIN385

1.什么是Transparent HugePages?

Transparent HugePages是RHEL6的新特性。

为了提升性能,Kernel会将程序缓存在内存中,每页内存以2M为单位。

想要有效的使用THP,kernel要在内存中找到一系列连续的物理内存来满足需求,也可能会对齐。

为了达到这个效果,系统新加了一个khugepaged进程,这个进程会偶尔尝试把正在使用的较小页面换到hugepage中。这样就能使hugepage使用达到最大化。

2.如何关闭THP尽管THP的本意是为提升性能,但某些数据库厂商还是建议直接关闭THP(比如说Oracle、MongoDB等),否则可能导致性能下降,内存锁,甚至系统重启等问题。比较流行的关闭方法有两种第一种:在/etc/rc.local中加入如下两行if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabledfiif test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defragfi第二种:1 .编辑 /etc/default/grub,在GRUB_CMDLINE_LINUX加入选项 transparent_hugepage=neverGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,,g‘ /etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console"GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap rd.lvm.lv=fedora/root rhgb quiet transparent_hugepage=never"GRUB_DISABLE_RECOVERY="true"2.重新生成grub配置文件On BIOS-based machines, issue the following command as root:# grub2-mkconfig -o /boot/grub2/grub.cfgOn UEFI-based machines, issue the following command as root:# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgstep3 重启你的系统验证结果重启前# cat /sys/kernel/mm/transparent_hugepage/defrag[always] madvise never## cat /sys/kernel/mm/transparent_hugepage/enabled[always] madvise never## cat /sys/kernel/mm/transparent_hugepage/defragalways madvise [never]#重启后# cat /sys/kernel/mm/transparent_hugepage/enabledalways madvise [never]#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值