鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

系统级优化

jemalloc(Jason Evans malloc) 是一个高性能、通用的内存分配器, 为提升TensorFlow Serving在高并发推理场景下的性能,引入jemalloc内存分配器,以更高效地管理内存,减少线程间锁竞争和碎片,从而降低内存占用波动,提高推理请求的吞吐与稳定性。

  1. 获取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
    
  2. 进入安装目录。
    1
    cd jemalloc-5.3.0/
    
  3. 编译安装jemalloc。
    1
    2
    3
    4
    ./autogen.sh
    ./configure
    make -j
    make install
    
  4. 安装验证。
    1
    ll /usr/local/lib/libjemalloc*
    

    回显如下则安装成功:

  5. 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"