透明大内存页Hugepage支持

在linux2.6.38之前,处理大容量内存工作集的高性能关键计算应用是运行在libhugetlbfs之上,必须依赖于
hugetlbfs,。透明Hugepage支持是一种替代手段,它使用大内存页,并且虚拟内存页的大小可以动态变化,没有hugetlbfs的缺点。
目前只适用于匿名内存映射,但未来可以扩展到tmpfs的papecache层。


大内存页的优点:
巨大的页面可以通过减少缺页提升性能(一次缺页分配大块的内存),还可以通过减少虚拟地址到物理地址的转换成本(减少转化次数),甚至可以避免地址转换。如果处理器必须转换一个虚拟地址,它必须通过多达四层页表。处理器保持一个“翻译后备缓冲器(TLB)的缓存的转换结果。TLB的容量很小,一般是128条指令转换、32条数据转换。非常容易被填满,从而必须进行大量的地址转换。例如:2m的页大小只需要一个tlb项,而4k的页大小就需要512个tlb项。通过内核地址使用大内存页,可以减少tlb的压力。
基于以上原因,使用大内存页的程序会运行的很快。

hugetlbfs 缺点:

(1)巨页必须在内核启动时刻进行设置,并且需要应用程序显示映射。
(2)更倾向于大的专有数据库管理系统


关闭透明大页面 
首先查看透明大页是否启用,[always] never表示已启用,always [never]表示已禁用

[root@n12 ~]# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
[always] madvise never
  
  
  • 1
  • 2

如果是启用状态,修改/etc/rc.local文件并添加以下两行, 
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag 
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled 
上述修改要重启才能生效,如果希望暂时生效,可以直接运行上面两个命令。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值