hugepage的优势与使用

+2投票
 

优势

通过使用hugepage分配可以提高性能,因为需要更少的页,因此需要更少Translation Lookaside Buffers (TLB,高速传送缓存),使用TLB可以减少将虚拟页地址转换成物理页地址的时间。

如果没有hugepage,使用标准4K页大小的话,可能产生大量TLB miss,影响性能。

使用

hugepage的分配应该在启动时完成,或者在系统启动之后尽可能在将内存分片成物理内存之前。

要在启动时保留hugepage内存,需要在内核启动的命令行添加一条命令。

对于2MB的页,只需要将选项hugepages传递给内核。例如,要保留1024个2MB的页,可用以下命令:

hugepages=1024

对于其它大小的hugepage尺寸,如1G的页,需要明确指定该尺寸,或者将该尺寸指定为默认hugepage的大小。

例如,要保留4个1G大小的页,需要用以下命令:

default_hugepagesz=1G hugepagesz=1G hugepages=4

注意:

(1)CPU支持的hugepage大小可以通过CPU的flags得知:

如果pse存在,则支持2M的hugepage。

如果pdpe1gb,则支持1G的hugepage。

(2)对于64位系统,如果平台支持,建议使用1GB大小的hugepage。

对于包含两个CPU槽位的NUMA系统,启动时保留的hugepage数会平均分配给两个槽。

(假设两个槽位均有足够内存)

另外,对于2MB大小的页,还有一个方法可以在系统启动之后分配hugepages。

对于单节点的系统(以分配1024个页为例):

$ echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

对于NUMA系统,可以对每个节点分配配置

$ echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

$ echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages

但是对于1G的页,无法在系统启动之后再分配保留的hugepage内存,需要按上文所述方法在启动项后指定。

结合DPDK使用hugepages

hugepage内存分配好后,要使其对DPDK可用,需要执行以下操作:

# mkdir /mnt/huge

# mount -t hugetlbfs nodev /mnt/huge

也可以在/etc/fstab文件中添加以下命令,使其重启后有效:

nodev /mnt/huge hugetlbfs defaults 0 0

对于1G的页,页大小必须作为mount选项指定:

nodev /mnt/huge_1GB hugetlbfs pagesize=1GB 0 0

 

hugepage优势的更多相关文章

  1. 06.移动先行之谁主沉浮----我的代码我来写(Xaml的优势)

    如果移动方向有任何问题请参考===> 异常处理汇总-移动系列(点) 前面几节课,我们都是在前台创建对象,进行一些设置,那么我们为什么不用传统的方法来编程呢? 我们今天来试试你就明了了~~ 打开M ...

  2. 女生学Web前端优势往往很明显

    学Web前端的女生不算少数,女生学习的成果也往往不比男生差,前端偏向设计.交互和产品方向,需要更加贴合用户,女生心思细腻,对页面细节把控更好,更具美感,对用户心理把握更准,这样的优势往往是男生所不具备 ...

  3. SQL Server 2016五大优势挖掘企业用户数据价值

    SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...

  4. CYQ.Data V5 从入门到放弃ORM系列:框架的优势

    前言: 框架开源后,学习使用的人越来越多了,所以我也更加积极的用代码回应了. 在框架完成了:数据库读写分离功能 和 分布式缓存功能 后: 经过三天三夜的不眠不休,终于完成框架第三个重量级的功能:自动化 ...

  5. NB-IoT的相关资料整理(基本概念,技术优势,典型案例和当前的进展)

            人与人之间的通讯规模已近天花板,物与物的则刚刚进入增长快车道.随着可穿戴.车联网.智能抄表等新兴市场的开启,工业4.0.智慧城市.智慧农业等理念照进现实,万物互联的时代正加速到来. 一 ...

  6. 问你觉得iOS7为什么要扁平化,扁平化和之前的比有什么优势

    问你觉得iOS7为什么要扁平化,扁平化和之前的比有什么优势 苹果首席设计师谈为何会在iOS上选择扁平风格http://ndnews.oeeee.com/html/201306/11/71078.htm ...

  7. gRPC+etcd的优势分析

    相比webService等可跨平台,跨语言的服务相比,gRPC更增加了以下优势 1.可以采用二进制传输,速度更快 (使用TCP传输层,而不是Http2应用层) 2.集群服务,统一注册,可靠性高( 好的 ...

  8. H.264的优势和主要特点

    H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压 ...

  9. vultr vps服务器存在的7个优势及选择原因

    原本准备在第一篇文章的时候完整的新注册账户的,但是考虑到对于这款VPS主机的了解,还是先整理这篇关于网络上和我自己在使用vultr vps主机产品的时候可能自认为的优势之处,这样可以加强很多新用户对于 ...

随机推荐

  1. java-启动和关闭.exe程序

    链接: https://www.cnblogs.com/pengpengzhang/p/8675740.html https://blog.csdn.net/ZHANGHUI3239619/artic ...

  2. shell 生成MAC地址

    # cat /dev/urandom |od -x |awk '{print $2,$3,$4}' |head -n 1 |sed -e 's/[[:space:]]//g' -e 's/\(..\) ...

  3. Python——列表、元祖、字典、集合的基本操作

    列表 1. 列表——增 (1)append li = ['xcsd', 'cdc', [1, 5, 2], 'eht', '辛辰'] li.append('nihao') print(li) #['x ...

  4. Azure SQL 数据库仓库Data Warehouse (4) 2018 TechSummit 动手实验营

    <Windows Azure Platform 系列文章目录> 上传一下之前在2018 TechSummit的动手实验营:Azure数据仓库PaaS项目架构规划与实战入门 包含PPT和Wo ...

  5. JavaScript开发中使用频率较高的一些方法

    1.填充字符串 ES7推出了字符串补全长度的功能.如果某个字符串不够指定长度,会在头部或尾部补全. String.prototype.padStart(maxLength, fillString=’ ...

  6. STM32_杂_01_串口代码

    #include "stm32f10x.h" #include "serial.h" #include "rtthread.h" #incl ...

  7. Hibernate复习

    第一天 Hibernate是一个持久层的ORM框架.两个配置文件, 类名.hbm.xml类的属性和表的列对应 hibernate.cfg.xml核心配置文件 Hibernate相关API: Confi ...

  8. 如何让Excel单元格中的名字分散对齐

    1 操作方式 开始->对齐方式->对齐->水平对齐->分散对齐(缩进) 2 优势 不会破坏数据的有效性

  9. pytorch下的lib库 源码阅读笔记(1)

    置顶:将pytorch clone到本地,查看initial commit,已经是麻雀虽小五脏俱全了,非常适合作为学习模板. 2017年12月7日01:24:15 2017-10-25 17:51 参 ...

  10. redis的缓冲击穿|缓冲雪崩|缓冲淘汰

    Redis 的缓存穿透和击穿 查询数据 缓存中有,从缓存中返回 缓存中没有,从数据库中查找,数据库中命中结果 ,将查询到的数据保存到缓存中 缓存中没有,从数据库中查找,数据库中也没有 , 不在缓存中保 ...