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. Linux之ls

    命令功能: ls是list的简写,列出目录下的内容 命令格式: ls [OPTION]... [FILE]... 命令参数: -a,--all    不忽略以“.”开头的隐藏文件 -A, --almo ...

  2. python函数嵌套定义

    python的这个特性是很特别的,与C#和C++都不一样.请看下面的例子 def outFun(): def innerFun_0():#1.在内部定义一个函数 print("i am fi ...

  3. iOS 解压Assets.car文件

    查看Assets.xcassets打包ipa之后Assets.car的图片资源 不经常使用 记录一份:原文地址http://www.jianshu.com/p/a5dd75102467 cartool ...

  4. Android Studio计时跳转或点击跳转至主页面

    这个总体来说是比较简单的,计时跳转一般调用Android Studio中的Handler方法. 一.发生点击事件跳转页面 mBtnTextView = (Button) findViewById(R. ...

  5. 时间的转化 js

    php 和java是不一样的 PHP 需要先乘1000 java  不需要 因为PHP传过来的是十位数 java传过来是十三位数 function formatDate() { var now = n ...

  6. python-web自动化-Python+Selenium之expected_conditions:各种判断

    expected_conditions一般也简称EC 以下两个条件类验证title,验证传入的参数title是否等于或包含于driver.titletitle_istitle_contains 以下两 ...

  7. ios7自定义返回按钮后,右滑返回功能失效解决方法

    -(void)viewWillAppear:(BOOL)animated{     [super viewWillAppear:animated];     //开启ios右滑返回     if ([ ...

  8. Maven CXF wsdl2Java String生成JAXBElement<Xxx> 解决方法

    添加要bindingFile的jaxb配置文件,如下: <jaxb:bindings version="2.1" xmlns:jaxb="http://java.s ...

  9. ---dd io测试

    下面是一个简单测试,虽然不够准确但是简单立即可行, 当前目录的IO写读测试: (写) dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync ( ...

  10. React Native在window下的环境搭建(二):创建新项目

    React Native创建一个新项目: react-native init TestAndroidApp 提示:你可以使用--version参数(注意是两个杠)创建指定版本的项目.例如react-n ...