使用tcmalloc提升swoole内存分配性能
关于tcmalloc
TCMalloc (google-perftools)
是用于优化C/C++写的多线程应用,比glibc的malloc快。这个模块可以用来让Swoole服务器程序在高并发下内存占用更加稳定。
TCMalloc
使用也非常简单,仅需在编译时连接到应用程序中,它会自动替换掉glibc的malloc函数。
安装libunwind
下载地址:http://ftp.twaren.net/Unix/NonGNU//libunwind/libunwind-0.99-beta.tar.gz
编译安装
./configure CFLAGS=-U_FORTRIFY_SOURCE sudo make -j install
安装tcmalloc
- GITHUB主页:https://github.com/gperftools/gperftools
- 下载地址https://codeload.github.com/gperftools/gperftools/tar.gz/gperftools-2.4
./configure --enable-frame-pointers sudo make -j install sudo ldconfig
开启tcmalloc
1.7.x版本手工修改Makefile文件
进入swoole-src
目录修改Makefile
文件,在SWOOLE_SHARED_LIBADD
尾部追加-ltcmalloc
,然后重新编译安装swoole,即可使用tcmalloc
优化内存分配的性能。
1.8.0或更高版本
编译参数增加--enable-tcmalloc