Ubuntu18.04安装DPDK20.11.1超详细!

文章目录

    • 一.工具集安装
    • 1.GCC
    • 2.pip3安装ninja
    • 3.安装numa依赖
    • 4.在linux中使用大页面
    • 5.内核版本>=3.16
    • 6.glibc>=2.7
    • 二.安装DPDK及源码
    • 三.在系统范围内编译和安装DPDK
    • 1.dpdk配置
    • 四.Linux驱动程序
    • 1.音频输出
    • 3.UIO
    • 4.与内核模块之间的网络端口绑定和解绑定
    • 4.1问题:绑定失败
    • 4.2问题:dpdk是否支持该网卡
    • 4.3安装igb_uio驱动
    • 5.最后以成功的截图纪念一下我为之努力的两天
    • 五.第一个实例helloworld
    • 1.make
    • 2.执行./helloworld
    • 3.结果
    • 1.问题1:make时找不到pkg_config
    • 2.问题2:执行时出现如下错误
    • 3.问题3:EAL: Error enabling interrupts for fd 19 (输入/输出错误)

一.工具集安装

1.GCC

sudo apt install build-essential
// 检验gcc版本
gcc --version
 gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2.pip3安装ninja

pip3 install meson ninja

3.安装numa依赖

apt-get install libnuma-dev

4.在linux中使用大页面

1.查看宿主机中内存页的大小
通常情况下,内存页大小为4KB。

getconf PAGESIZE
4096

2.查看宿主机中透明大页是否开启

cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never

3.开启透明大页

echo always > /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

4.查看宿主机中HugePage的大小

cat /proc/meminfo |grep -i HugePages
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kBHugePages_Total: Hugepage的页面数量
HugePages_Free: 剩余的页面数量
HugePages_Rsvd: 被分配预留但是还没有使用的page数目
HugePages_Surp:HugePages_Total减去/proc/sys/vm/nr_hugepages中的值

5.挂载大页
内存只有被挂载了之后,才能被应用程序使用。到刚创建的huge目录下,挂载hugetlbfs文件系统。

sudo mount -t hugetlbfs  nodev /mnt/huge
mount |tail -1
//nodev on /mnt/huge type hugetlbfs (rw,relatime,pagesize=2M)

6.使用sysctl(sysctl命令用于设置和显示在/proc/sys目录中的内核参数)命令设置vm.nr_hugepages,将大页个数设置为200(200 * 2M=400M,需要确保宿主机有足够可以分配的内存)。

sudo sysctl vm.nr_hugepages=200
//vm.nr_hugepages = 200
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部