linux系统安装dpdk
预安装编译dpdk所需软件
dpdk20.11与之前版本相比,使用了meson和ninjia的编译方式
# apt install python3.8 python3-pyelftools
由于meson依赖python3.7及以上版本,这里选择安装python3.8
如果选择pip安装meson和ninja
# pip3 install meson ninja --user
(pip3安装meson默认安装在/home/tp/.local/bin下,需要将其添加到环境变量中,之后才可使用:
# export PATH=PATH : PATH:PATH:HOME/.local/bin)
如果选择apt/rpm方式安装meson和ninja
# apt install meson ninja-build
建议选择apt方式安装,官方选定匹配版本,而且不用编译,安装相对速度快。另外相当于全局,其他用户也可以用。
1. 下载dpdk库
方式1:从github下载
# git clone git@github.com:DPDK/dpdk.git
# git checkout v22.11-rc3
方式2:从官网ftp下载
20.11版本将igb_uio代码移除,有需要的从git://dpdk.org/dpdk-kmods下载编译安装
#meson build
#cd build
#ninja
#ninja install
检查是否安装成功:
#pkg-config --modversion libdpdk
v22.11-rc3
安装网卡驱动
#git clone http://dpdk.org/git/dpdk-kmods
#cd dpdk-kmods/linux/igb_uio
#make
#modprobe uio
#insmod igb_uio.ko intr_mode=legacy(注意:加载驱动时要带着参数intr_mode= legacy,如果不加参数,将会有问题!)
#lsmod | grep uio
#rmmod igb_uio
绑定网卡之前需要关闭linux下的网卡
#Ifconfig eth0 down
进入目录usertools
#./dpdk-devbind.py –b=igb_uio 0000:01:08.1(eth0对应的bus-info)
#./dpdk-devbind.py –s
减绑用-u
#./dpdk-devbind.py –u 0000:01:08.1
将网卡绑定为原始驱动
#./dpdk-devbind.py –b igb 0000:01:08.1
配置大内存页面
配置Huge Pages:DPDK需要使用Huge Pages来提供更高的内存性能
#usertools/dpdk-hugepages.py --setup 1G
具体配置多大,参考官网说明。这个1G代表一个页面大小,多个就是n*1G。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了