TCMalloc优化

TCMalloc是Google开发的内存分配器,具有现代化内存分配器的基本特征:对抗内存碎片,基于多核处理器支持并行。它的内存分配速度是Glibc 2.3中实现的malloc的数倍。

  1. 使能TCMalloc。

    在执行启动SPDK的命令时通过LD_PRELOAD的方式,加载TCMalloc功能库,如:

    LD_PRELOAD=/usr/lib64/libtcmalloc.so.4 build/bin/vhost -S /var/tmp -m 0x2

  2. 使能TCMalloc大页。

    1. 配置TCMalloc环境变量。
      TCMALLOC_MEMFS_MALLOC_PATH=/dev/hugepages/tcmalloc 

      “/dev/hugepages”是系统大页内存的挂载路径,请根据实际环境进行修改。

    2. 使能。
      TCMALLOC_MEMFS_MALLOC_PATH=/dev/hugepages/tcmalloc LD_PRELOAD=/usr/lib64/libtcmalloc.so.4 build/bin/vhost -S /var/tmp -m 0x2