背景

spdk_dma_zmalloc 申请的内存即使强制kill spdk app 也不会自动释放。
按理启动的时候分配的大页,应该不会出现大页不够。这里如果是配置的 物理地址模式,那有可能是连续的大页越来越少。不记得19.11版本是否支持DPDK的虚机内存模式,新的版本配制成虚拟内存模式,就可以避免连续内存不够的问题(如果没有内存泄漏的话)

可以通过cat /proc/meminfo 来确认。

无效的方法

方法1

rm -rf /dev/shm/*

方法2

rm -rf //dev/hugepages/spdk_*

方法3

cd spdk/scripts
./setup.sh reset

正确的方法

cd spdk/scripts
./setup.sh reset
cd ../
cd spdk/dpdk/usertools
./dpdk-setup.sh
在弹出的菜单里选择设置 huage page 大小 (需要根据uname -a 看到的释放是numa来选择)

教训

这些步骤spdk 入门的文档里有详细记录,后边居然忘记了。因为对原理、细节还不熟悉,后边需要加强这块。