使用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

./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