tcmalloc(即Thread-Caching Malloc)是一个通用的内存分配器,通过引入多层次缓存结构、减少互斥锁竞争、优化大对象处理流程等手段,在保证低延迟的同时也提升了整体性能表现。这对于需要频繁进行内存操作的应用来说尤为重要,尤其是在高并发场景下能够显著改善系统响应速度和服务质量。
# openeuler yum install gperftools # centos yum install gperftools gperftools-devel # ubuntu sudo apt update sudo apt install libgoogle-perftools4 libgoogle-perftools-dev
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.16/gperftools-2.16.tar.gz tar -xf gperftools-2.16.tar.gz && cd gperftools-2.16 ./configure --prefix=/usr/local/lib --with-tcmalloc-pagesize=64 make make install
find /usr -name libtcmalloc.so*
找到对应路径下的动态库文件,libtcmalloc.so或者libtcmalloc.so.版本号都可以使用。
export LD_PRELOAD="$LD_PRELOAD:/usr/local/lib/lib/libtcmalloc.so"
LD_PRELOAD="/usr/local/lib/lib/libtcmalloc.so" python train_script.py
ldd `which python`
python train_script.py