TCMalloc是Google开发的内存分配器,具有现代化内存分配器的基本特征:对抗内存碎片,基于多核处理器支持并行。它的内存分配速度是Glibc 2.3中实现的malloc的数倍。
在执行启动SPDK的命令时通过LD_PRELOAD的方式,加载TCMalloc功能库,如:
LD_PRELOAD=/usr/lib64/libtcmalloc.so.4 build/bin/vhost -S /var/tmp -m 0x2
TCMALLOC_MEMFS_MALLOC_PATH=/dev/hugepages/tcmalloc
“/dev/hugepages”是系统大页内存的挂载路径,请根据实际环境进行修改。
TCMALLOC_MEMFS_MALLOC_PATH=/dev/hugepages/tcmalloc LD_PRELOAD=/usr/lib64/libtcmalloc.so.4 build/bin/vhost -S /var/tmp -m 0x2