DPDK 内存子系统两个操作模式:dynamic/legacy;
内存根据应用使用情况自动扩展或减小,rte_malloc(), rte_memzone_reserve()函数导致更多的hugepages被保留。
rte_memzone_reserve(RTE_MEMZONE_IOVA_CONTIG)是西安IOVA连续空间的分配。内存分配器检查是否有足够的内存
可被使用。-m和--socket-mem命令行选项实现在初始化时预分配内存。--single-file-segments会导致所有pages放入一个文件中。
内存分配回调函数注册:rte_mem_event_callback_register();超过设置的阈值报警:rte_mem_alloc_validator_callback_register()
--socket-limit选项启动了默认的检验器回调函数。
--legacy-mem:启动内存的legacy模式,在此模式下,-m和--socket-mem选项的功能也可用。
hugepage分配匹配:
--match-allocations选项开启此功能,不支持同--legacy-mem和--no-huge选项一起用。
最大内存量限制配置:
CONFIG_RTE_MAX_MEMSEG_LISTS:段列表的最大数
CONFIG_RTE_MAX_MEM_MB_PER_LIST:段列表可寻址的最大内存
CONFIG_RTE_MAX_MEMSEG_PER_LIST:每个segment中最大segments数目
CONFIG_RTE_MAX_MEMSEG_PER_TYPE:每种内存类型可以有的最大segment数目
CONFIG_RTE_MAX_MEM_MB_PER_TYPE:每种内存