安装依赖
yum install -y make gcc numactl-devel*x86_64 kernel-devel
modprobe uio
编译
- 拷贝 dpdk-19.08.tar.xz到 /usr/local
- 解压 tar xvf dpdk-19.08.tar.xz
- Cd dpdk-19.08
- dpdk编译动态库编辑config/common_base下的编辑项CONFIG_RTE_BUILD_SHARED_LIB=y
- export DESTDIR=/usr/local/dpdk
- cd usertools
- 运行 dpdk-setup.py
- uname -a
Linux localhost.5gdpi 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux - select 39
- 编译完成后,在/usr/local/dpdk下
设置hugepage
- 编辑/etc/default/grub文件,将下面的内容加到引导启动项GRUB_CMDLINE_LINUX的”rhgb quiet”之后:
isolcpus=1-95 nohz_full=1-95 rcu_nocbs=1-95 transparent_hugepage=never default_hugepagesz=1GB hugepagesz=1GB hugepages=226 rcu_nocb_poll audit=0 nosoftlockup nm i_watchdog=0 selinux=0 intel_pstate=disable(isolcpus设置孤立cpu,hugepages表示大页数量) - 执行如下命令写入引导项:
grub2-mkconfig -o /boot/grub2/grub.cfg
或
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
有些主板因为bios的问题加载文件为/boot/efi/EFI/centos/grub.cfg,需要将grub2-mkconfig输出指定到该文件 - 编辑/etc/fstab文件,在最后增加如下内容,在系统启动时挂载大内存页。
nodev /mnt/huge hugetlbfs defaults 0 0