系统级优化
jemalloc(Jason Evans malloc) 是一个高性能、通用的内存分配器, 为提升TensorFlow Serving在高并发推理场景下的性能,引入jemalloc内存分配器,以更高效地管理内存,减少线程间锁竞争和碎片,从而降低内存占用波动,提高推理请求的吞吐与稳定性。
- 获取jemalloc源码并解压。
1 2
wget https://github.com/jemalloc/jemalloc/archive/refs/tags/5.3.0.tar.gz --no-check-certificate tar zxvf 5.3.0.tar.gz
- 进入安装目录。
1cd jemalloc-5.3.0/
- 编译安装jemalloc。
1 2 3 4
./autogen.sh ./configure make -j make install
- 安装验证。
1ll /usr/local/lib/libjemalloc*回显如下则安装成功:

- jemalloc可以通过设置“LD_PRELOAD”环境变量使能,并使用“MALLOC_CONF”环境变量配置内存管理器行为,本文提供使能命令和鲲鹏最优配置。
export LD_PRELOAD="/usr/local/lib/libjemalloc.so" export MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000"