文档章节

Tcmalloc对Mysql及Nginx内存管理优化

xinson
 xinson
发布于 2014/06/19 18:01
字数 345
阅读 37
收藏 0

TcMalloc内存分配器,能提升高并发下的性能,降低系统的负载。能降低多线程程序之间的锁争用问题,在小对象上可以达到最小争用。

Linux下tcmalloc安装

  1. 1

    安装Tcmalloc

    # wget http://gperftools.googlecode.com/files/gperftools-2.1.tar.gz

    # cd gperftools-2.1

    # ./configure

    # make && make install 

    默认路径为/usr/local,Tcmalloc库安装在/usr/local/lib目录

  2. 2

    TCmaloc库加载到Linux系统中:

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

    # /sbin/ldconfig

    END

tcmalloc优化mysql

  1. 1

    修改MySQL启动脚本(依据MySQL安装位置):

    vi /usr/local/mysql/bin/mysqld_safe

    在# executing mysqld_safe的下一行,添加:

    export LD_PRELOAD=/usr/local/lib/libtcmalloc.so

    保存退出,并重启MySQL。

  2. 2

    依据lsof验证命令查看tcmalloc是否起效

    # lsof |grep -i libtcmalloc.so

    如果发现以下信息,说明tcmalloc已经起效:

    mysqld  13961   mysql  mem    REG  253,0  1948990     196421/usr/local/lib/libtcmalloc.so.4.1.2

    END

Tcmalloc优化Nginx

  1. Nginx安装过程中添加"–with-google_perftools_module"

    cd lnmp/src/nginx-1.5.10 make clean ./configure --prefix=/usr/local/nginx --user=www --group=www \ --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module \ --with-http_gzip_static_module --with-google_perftools_module make && make install

  2. 添加线程目录,具体如下:

    # mkdir /tmp/tcmalloc

    # chown -R www.www /tmp/tcmalloc

    # vim nginx.conf

    ···

    pid        logs/nginx.pid;

    google_perftools_profiles /tmp/tcmalloc/;

    ···

  3. 3

    验证tcmalloc是否生效

    lsof -n | grep tcmalloc

    每个线程(work_processes的值)会有一行记录,每个线程文件后面的数字值就是启动的nginx的pid值。


本文转载自:http://jingyan.baidu.com/article/a3761b2b8daa391576f9aa86.html

共有 人打赏支持
xinson
粉丝 15
博文 133
码字总数 29814
作品 0
广州
程序员
私信 提问
TCMalloc优化MySQL、Nginx、Redis内存管理

TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是 google-perftools工具中的一个(gperftools四个工具...

lj2007331
2013/09/02
0
0
jemalloc优化MySQL、Nginx内存管理

上一篇文章《TCMalloc优化MySQL、Nginx、Redis内存管理》,下面来看下jemalloc jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:《A Scalable Concurrent malloc Implementa...

lj2007331
2013/09/06
0
0
内存管理TCMalloc 安装和使用

TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个(gperftools四个工具分...

59090939
06/26
0
0
深入了解tcmalloc(一):windows环境下无缝拦截技术初探

概述: 又到了一个总结提炼的阶段,这次想具体聊聊游戏引擎中使用的内存管理模块tcmalloc组件的使用心得。项目的前期曾经遇到过内存瓶颈,特别是windows系统下的客户端程序在经历长时间运行之...

窗台跳舞的猫
2014/06/03
0
1
优化的内存访问 TCMalloc

TCMalloc(Thread-Caching Malloc)是google-perftools工具中的一个,与标准的glibc库的malloc相 比,TCMalloc在内存的分配上效率和速度要高得多,可以提高Mysql服 务器在高并发情况下的性能...

企图穿越
2010/02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

技术工坊|如何开发一款以太坊钱包(深圳)

【好消息!】HiBlock区块链技术工坊已经成功举办了26期,其中北京1期,西安1期,成都2期,上海22期。经常有社区的小伙伴问定期举办技术工坊的除了上海以外,其他城市有没有?现在区块链技术工...

HiBlock
8分钟前
1
0
Redis 梳理笔记

安装 安装gccyum install gcc-c++下载传输到服务器上解压tar -xzvf *.tar.gzcd redis-3.2.9编译make安装 make PREFIX=/usr/local/redis install将配置文件拷贝出来cp redis...

晨猫
10分钟前
0
0
PyCharm flask 'Debug mode off' 调试模式关闭的解决方法

flask的几种debug模式的方法 # 1.app.run 传参debug=trueapp.run(debug=True) #2 设置app的配置app = Flask(__name__)app.config['DEBUG'] = True #3 配置文件方式# config.py中添加d...

yimingkeji
17分钟前
1
0
聊聊storm TridentWindowManager的pendingTriggers

序 本文主要研究一下storm TridentWindowManager的pendingTriggers TridentBoltExecutor.finishBatch storm-core-1.2.2-sources.jar!/org/apache/storm/trident/topology/TridentBoltExecut......

go4it
24分钟前
1
0
java实现多线程两种基本方式

我们在开发当中经常会使用到多线程,这里我们来写两个小案例通过最基本的两种方式继承Thread类或实现Runnable接口来实现一个多线程。 继承Thread类 我们可以通过继承Thread类,并重写run()方...

王子城
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部