我执行了以下命令来运行pktgen-dpdk中的run.sh文件,该文件会抛出错误。我明白它与内存要求不符。但我确实试图分配一个2048KB的大页面大小。但它仍然给我同样的错误。
我试图执行的命令是:
sudo -E ./tools/run.sh
EAL: Not enough memory available on socket 1! Requested: 2048MB, available: 0MB
EAL: FATAL: Cannot init memory
EAL: Cannot init memory
答案 0 :(得分:0)
如果您尝试运行Pktgen的主机具有NUMA,即节点0和节点1,则必须按照DPDK Getting Started Guide中所述在两个NUMA节点上配置大页面,即:
echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 2048 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
如果主持人没有NUMA,您需要修复Pktgen的参数。打开run.sh
脚本并更改--socket-mem 2048,2048
(即在NUMA 0上分配2K大页面,在NUMA 1上分配2K)到--socket-mem 2048
(即仅在NUMA 0上分配2K大页面)