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