我是DPDK的新手,正在服务器上安装suricata的DPDK版本。当我运行suricata --list-dpdkports
时,它显示
EAL: Detected 128 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /tmp/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: Couldn't get fd on hugepage file
EAL: error allocating rte services array
EAL: FATAL: rte_service_init() failed
EAL: rte_service_init() failed
5/11/2020 -- 21:41:45 - <Error> - [ERRCODE: SC_ERR_DPDK_CONFIG(319)] - DPDK init failed
EAL: No available hugepages reported in hugepages-1048576kB
是什么意思?无论我设置了多少个护肩,它总是显示出这一点。
AnonHugePages: 104448 kB
HugePages_Total: 8192
HugePages_Free: 8191
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
我是DPDK的新手,我在网上找到的大多数解决方案都是关于No Free hugepages reported
的。我真的很想知道这意味着什么。谢谢你的帮助。
@Ericsun日志EAL: No available hugepages reported in hugepages-1048576kB
是正常的,因为您的大页面是2048 kB
。x86上的DPDK可以同时使用2MB或1GB的巨大页面。在函数rte_eal_init
中,两者都被探测。在您当前的设置中,找不到1GB。因此,rte_eal_init记录的日志是相同的。
你的错误是
EAL: Couldn't get fd on hugepage file
EAL: error allocating rte services array
EAL: FATAL: rte_service_init() failed
使用sudo
提升权限并通过mmap访问hugepage。