大页内存分配:

 NUMA系统(现在的linux一般都是)

  1. echo 1024 >/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
  2. echo 1024 >/sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
  1. [root@localhost dpdk-dst]# lscpu
  2. Architecture: x86_64
  3. CPU op-mode(s):32-bit,64-bit
  4. ByteOrder:LittleEndian
  5. CPU(s):2
  6. On-line CPU(s)list:0,1
  7. Thread(s) per core:1
  8. Core(s) per socket:2
  9. Socket(s):1
  10. NUMA node(s):1
  11. Vendor ID:GenuineIntel
  12. CPU family:6
  13. Model:61
  14. Model name:Intel(R)Core(TM) i5-5200U CPU @2.20GHz
  15. Stepping:4
  16. CPU MHz:2194.916
  17. BogoMIPS:4389.83
  18. Hypervisor vendor:VMware
  19. Virtualization type: full
  20. L1d cache:32K
  21. L1i cache:32K
  22. L2 cache:256K
  23. L3 cache:3072K
  24. NUMA node0 CPU(s):0,1
从上面可以看到,
  1. NUMA node(s):1
总共有一个NUMA node,注意这里的node个人理解就是具有独立内存和CPU总线的最小计算单元(每个node内部有自己的CPU总线和内存),而Core就是socket里独立的一组程序执行的硬件单元,比如寄存器,计算单元等,不单独占有内存。
 
非NUMA系统
  1. echo 1024 >/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

大页内存的挂载
  1. mkdir /mnt/huge
  2. mount -t hugetlbfs nodev /mnt/huge
 

  1. export RTE_SDK=/home/yml/dpdk/dpdk-stable-16.07.2    //这个是你生成的编译环境的路径
  2. export RTE_TARGET=x86_64-native-linuxapp-gcc    //编译的环境变量
  3. export DESTDIR = /home/yml/dpdk/dpdk-stable-16.07.2/ //你的安装路径,就是编译出来的文件的路径

编译
  1. make install T=$RTE_TARGET

Loading Modules to Enable Userspace IO for DPDK

  1. cd x86_64-native-linuxapp-gcc/
  2. sudo modprobe uio
  3. sudo insmod kmod/igb_uio.ko
  4. sudo insmod kmod/rte_kni.ko

网卡绑定
  1. ./tools/dpdk-devbind.py --status 查询网卡状态
  1. [root@localhost tools]#./dpdk-devbind.py --status
  2. Network devices using DPDK-compatible driver
  3. ============================================
  4. 0000:02:05.0'82545EM Gigabit Ethernet Controller (Copper)' drv=ig`b_uio unused=e1000
  5. 0000:02:06.0'82545EM Gigabit Ethernet Controller (Copper)' drv=igb_uio unused=e1000
  6. Network devices using kernel driver
  7. ===================================
  8. 0000:02:01.0'82545EM Gigabit Ethernet Controller (Copper)'if=eno16777736 drv=e1000 unused=igb_uio *Active*
  9. 0000:02:07.0'82545EM Gigabit Ethernet Controller (Copper)'if=eno67109432 drv=e1000 unused=igb_uio
  10. Other network devices
  11. =====================
  12. <none>
 
  1. ./tools/dpdk-devbind.py --bind=igb_uio 02:07.0

 
 

DPDK编译步骤的更多相关文章

  1. Linux-编译器gcc/g++编译步骤

    gcc和g++现在是gnu中最主要和最流行的c&c++编译器.g++是c++的命令,以.cpp为主:对于c语言后缀名一般为.c,这时候命令换做gcc即可.编译器是根据gcc还是g++来确定是按 ...

  2. Android 源码编译 步骤

    添加资源后编译步骤 1:lunch 112:mmm frameworks/base/core/res/生成Install: out/target/product/hammerhead/system/f ...

  3. zlib库VS2015编译步骤

    [点击这里下载zlib1.2.8源码](http://zlib.net/zlib128.zip) [点击这里下载zlib1.2.8编译动态库](http://zlib.net/zlib128-dll. ...

  4. 腾讯开源项目phxpaxos的编译步骤

    #paxos的一般编译流程在项目文档<中文详细编译手册>里面已经有介绍,这里重点介绍一下编译samples目录下的代码: #我的环境是ubuntu; #设置paxos根目录 phx_dir ...

  5. Android APK反编译步骤

    反编译步骤 1.通过Android Killer 打开apk,自动开始分析   2.分析结束后,在分析好的工程上右键->打开方式->打开文件位置     在文件夹ProjectSrc中有文 ...

  6. R58的编译步骤f1选项v1.1版本

    R58的编译步骤f1选项v1.1版本 2017/3/16 16:38 请严重注意: 编译全志R58的Android6.0.1的系统和其它系统有两个不同: 1.在执行pack打包之前,必须执行verit ...

  7. OpenSSL简单介绍及在Windows、Linux、Mac系统上的编译步骤

    OpenSSL介绍:OpenSSL是一个强大的安全套接字层password库,囊括基本的password算法.经常使用的密钥和证书封装管理功能及SSL协议.并提供丰富的应用程序供測试或其他目的使用. ...

  8. webrtc所有平台下载编译步骤详细说明

    webrtc所有平台下载编译步骤详细说明 1.安装depot tools Windows:国外下载:https://storage.googleapis.com/chrome-infra/depot_ ...

  9. linux 模块编译步骤(原)

    linux 模块编译步骤(原) 博主推荐:<Linux命令模板Licote(原)> 本文将直接了当的带你进入linux的模块编译.当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者 ...

随机推荐

  1. 【转载】Spring MVC 整合 Freemarker

    前言 1.为什么要使用Spring MVC呢? 2.为什么要使用Freemarker呢? 3.为什么不使用Struts2呢? 此示例出现的原因就是发现了struts2的性能太差,所以学习Spring ...

  2. Oracle表结构修改触发视图无法正常使用问题

    一.问题描述 当对视图使用的基表进行表结构修改后,会触发视图的无效以及编译出错问题,必须重建视图解决. 二.问题再现 1.Oracle10g环境 1.1 创建视图测试用两张基表:TestTable和T ...

  3. ceph_deploy部署ceph分布式文件系统

    1.前期准备:centos6.5 minimal版本3台 选择其中一台作为一个安装节点,能无密码登录其他机器.ssh-keygen ssh-keygen -i ~/.ssh/id_rsa.pub no ...

  4. iOS8.3发布了Swift 1.2带来哪些新变化

    苹果前几日在面向开发者推送iOS 8.3 Beta的同时,还发布了版本号为6D520o的Xcode 6.3 Beta,其中便包含了iOS 8.3 Beta和OS X v10.10 SDK,并进一步提升 ...

  5. python 学习(二)--关于类

    1.没有权限控制,在类方法或变量前加 "__" 两下划线,则变为"私有"变量(实际通过_<类名>__<变量或方法名> 可以访问) 2.类 ...

  6. JavaScript界面传值与前后台互调

    话说曾在校时,前端的第一门课程HTML静态网页设计,其老师,真是应了他的名字: 路遥知马力. 整个学期硬是全部在 Dreamwear 中进行拖拽控件来教学,未曾教授一句代码.成功忽悠了全体学生,课上一 ...

  7. Java数据结构与算法之---求两个数的最大公约数(欧几里得算法)

    一个简单的小算法来获取两个数的最大公约数, public class Test { public static void main(String[] args) { long result = gcd ...

  8. Vmware玩mac os x分享

    相信网上类似的材料非常多了,在此就不赘述具体步骤了,先分享一个不错的链接: http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html ...

  9. SVN批处理

    前言 我们在项目开发中,使用的版本管理工具有svn git等.这里介绍一下用 bat命令操作svn .这样会给我们带来很大的方便. bat命令 Python等大家一定要掌握哈,会给你带来很多的方便.其 ...

  10. 我的Android第五章

    今天我们来讲一下Android四大组件中的activity的生命周期, 首先我们可以看一张activity的生命周期的图解看一下 关于Activity的生命周期,有以下几个要注意的点: 1.最开始进入 ...