I'm new to DPDK, and I'm installing a DPDK version of suricata on the server. When I run suricata --list-dpdkports
, it shows
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
What does EAL: No available hugepages reported in hugepages-1048576kB
mean? No matter how many hugepages I set, it always show that.
AnonHugePages: 104448 kB
HugePages_Total: 8192
HugePages_Free: 8191
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
I'm new to DPDK, and most of the solutions I found online is about No Free hugepages reported
. I really wanna know what it means. Thank you for your help.
@Ericsun the log EAL: No available hugepages reported in hugepages-1048576kB
is normal as your huge page is 2048 kB
. DPDK on x86 can use both 2MB or 1GB huge page. In function rte_eal_init
both are probed. In your current setup, 1GB is not found. Hence rte_eal_init logs the same.
your error is
EAL: Couldn't get fd on hugepage file
EAL: error allocating rte services array
EAL: FATAL: rte_service_init() failed
Use sudo
for elevating privellege and accessing hugepage via mmap.