Google 开发的 gperftools 包含四个工具,分别是:TCMalloc、heap-checker、heap-profiler 和 cpu-profiler,TCMalloc是 gperftools 的其中一个工具,用于优化C++写的多线程应用,与标准的glibc库的malloc相比,TCMalloc在内存的分配效率和速度要高,可以在高并发的情况下很好的控制内存的使用,提高服务器的性能,降低负载。
使用 TCMalloc 优化 Nginx 和 MySQL 的内存管理,性能将会有一定程度的提升,特别是对MYSQL服务器高并发下情况下的性能。
安装 libunwind 库 如果系统是64位的需要先安装libunwind库,32位系统则不需要安装。
libunwind 库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。
说明: 操作系统:CentOS Nginx安装路径:/usr/local/nginx Nginx配置文件路径:/usr/local/nginx/conf/nginx.conf nginx安装包目录:/usr/local/src/nginx-1.2.4 Nginx 软件版本:nginx-1.2.4 一、下载软件包 http://mirror.yongbok.net/nongnu/libunwind/libunwind-1.1.tar.gz #下载libunwind https://gperftools.googlecode.com/files/gperftools-2.0.tar.gz #下载gperftools 上传软件包到服务器的/usr/local/src目录下面 二、安装gperftools 1、安装libunwind(安装gperftools前需要先安装libunwind) cd /usr/local/src #进入安装目录 tar zxvf libunwind-1.1.tar.gz #解压 cd libunwind-1.1 ./configure #配置 make #编译 make install #安装 系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接 2、安装gperftools cd /usr/local/src tar zxvf gperftools-2.0.tar.gz cd gperftools-2.0 #进入目录 ./configure --enable-frame-pointers #配置 make make install 3、配置gperftools vi /etc/ld.so.conf.d/usr_local_lib.conf #编辑,添加以下内容 /usr/local/lib :wq! #保存退出 /sbin/ldconfig #执行此命令 cd /usr/local/src/nginx-1.2.4 #进入nginx安装包目录 ./configure --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.31 #重新配置nginx,添加--with-google_perftools_module参数 make #编译 make install #安装 mkdir /tmp/tcmalloc #新建目录 chmod 777 /tmp/tcmalloc -R #设置目录权限 4、配置nginx
vi /usr/local/nginx/conf/nginx.conf #编辑,在#pid logs/nginx.pid;这行的下面添加 google_perftools_profiles /tmp/tcmalloc; :wq! #保存退出 系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接 service nginx restart #重启nginx 三、测试 lsof -n | grep tcmalloc #测试tcmalloc lsof -n | grep nginx #测试nginx
至此,CentOS下安装gperftools优化nginx完成。