dpdk中的“ EAL:在hugepages-1048576kB中未报告可用的大页面”是什么意思?

问题描述

我是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访问大页面。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...