使用dpdk的程序从16核的机器迁移到24核的机器上运营时,启动失败,经过排查发现如下错误:
invalid cpu id 18
之前打印的numa信息是:
numa 0 cpuid: 0 1 2 3 4 5 12 13
numa 1 cpuid: 6 7 8 9 10 11 18 19
后来修改了pal/include/pal_conf.h 中以下宏定义,再编译,就能运行了。
/* max number of cpu cores */
-#define PAL_MAX_CPU 16
+#define PAL_MAX_CPU 24
记录一下, 以后遇到类似的问题可以直接解决。看样子,估计是CPU核心数没有对应上,有谁知道具体原因吗。