linux tcmalloc,内存管理TCMalloc 安装和使用

TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc、heap-checker、heap-profiler和cpu-profiler),这个工具是开源的,以源码形式发布。如果觉得自己维护一个内存分配器麻烦的话,可以考虑将TCMalloc静态库连接到你的程序中。使用的时候和glibc中的malloc调用方式一模一样。你需要做的只是把TCMalloc的动态库或者静态库连接进你的程序中,你就可以获得一个高效,快速,安全的内存分配器。

与标准的glibc库的malloc相比,TCMalloc在内存的分配效率和速度要高,可以在高并发的情况下很好的控制内存的使用,提高服务器的性能,降低负载

1. libunwind安装

4位操作系统请先安装 libunwind库,32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。 #tar zxvf libunwind-1.1.tar.gz

#cd libunwind-1.1

#./autogen.sh

#./configure

#make

#make install

./autogen.sh:行7: autoreconf: 未找到命令

autoreconf: automake failed with exit status: 1

这时还要安装一下yum install autoconf automake gnome-common

2. 安装google-perftools

#tar -zvxf gperftools-2.6.1.tar.gz

# cd gperftools-gperftools-2.6.1

#./autogen.sh

#./configure

#make

#make install

./libtool: line 1125: g++: command not found

make: *** [src/libtcmalloc_minimal_la-tcmalloc.lo] 错误 1

yum install gcc-c++

3. TCMalloc库加载到Linux系统中

#echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf

#ldconfig

编译nginx

#./configure --prefix=/usr/local/nginx --user=www --group=www   --with-poll_module --with-select_module --with-pcre=/usr/local/src/nginx-1.10.3/pcre-8.41    --with-google_perftools_module

#make && make install

为添加线程目录:

mkdir /tmp/tcmalloc

chown -R www.www /tmp/tcmalloc

vi /usr/local/nginx/conf/nginx.conf #PID the next line add

google_perftools_profiles /tmp/tcmalloc;

验证tcmalloc是否在Nginx中生效

ed7a6ab47d930a90fa7515f0aeaebcd7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值