我在我的ubuntu服务器18.04TLS上安装了DPDK,内核为5.4.82,一切都在dpdk_testpmd上运行良好,直到从内核5.9往返升级/降级。即使在使用hugeadm创建大页面之后,它也会突然停止工作,并出现错误'EAL: No available 1048576 kB hugepages reported'。在/proc/meminfo中,HugePage_Free * HugePageSize为1724416 kB,超过1048575 kB。
DPDK不能看到这些页面有什么原因吗?
/usr/bin/hugeadm --pool-pages-min默认值:2G -vvv
hugeadm:DEBUG: HUGETLB_VERBOSE='5'
hugeadm:INFO: page_size<DEFAULT> adjust<2G> counter<0>
hugeadm:DEBUG: Working with page_size of 2097152
hugeadm:DEBUG: Returning page count of 1024
hugeadm:INFO: 1024, 1024 -> 1024, 1024
hugeadm:INFO: setting HUGEPAGES_TOTAL to 1024cat /proc/meminfo | grep -i海量
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
FileHugePages: 0 kB
HugePages_Total: 1024
HugePages_Free: 842
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 2097152 kB./dpdk testpmd-total-num-mbufs=131072
EAL: Detected 40 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available 1048576 kB hugepages reported
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: DPDK is running on a NUMA system, but is compiled without NUMA support.
EAL: This will have adverse consequences for performance and usability.
EAL: Please use --legacy-mem option, or recompile with NUMA support.
..... Removed text about PCIe device probe here .....
EAL: No legacy callbacks, legacy socket not created
testpmd: create a new mbuf pool <mb_pool_0>: n=131072, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
testpmd: create a new mbuf pool <mb_pool_1>: n=131072, size=2176, socket=1
testpmd: preferred mempool ops selected: ring_mp_mc
EAL: Error - exiting with code: 1
Cause: Creation of mbuf pool for socket 1 failed: Cannot allocate memory发布于 2021-02-20 11:51:56
我发现了问题所在。系统缺少libnuma-dev,可能是在我上次更新内核时被错误地删除的。在使用meson和ninja重新安装libnuma-dev并重新编译DPDK之后,一切都恢复正常。
https://stackoverflow.com/questions/66284658
复制相似问题