文档章节

Tcmalloc对Mysql及Nginx内存管理优化

xinson
 xinson
发布于 2014/06/19 18:01
字数 345
阅读 35
收藏 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(一):windows环境下无缝拦截技术初探

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

窗台跳舞的猫
2014/06/03
0
1
内存管理TCMalloc 安装和使用

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

59090939
06/26
0
0
优化的内存访问 TCMalloc

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

企图穿越
2010/02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

gson1.7.1线程并发导致空指针问题

java.lang.NullPointerExceptionat com.google.gson.FieldAttributes.getAnnotationFromArray(FieldAttributes.java:231)at com.google.gson.FieldAttributes.getAnnotation(FieldAttribut......

东风125
45分钟前
3
0
以太坊RPC接口使用

以太坊RPC接口文档: https://github.com/ethereum/wiki/wiki/JSON-RPC#web3_clientversion 使用方式: 比如我要调用某个合约的balanceOf(address _owner)方法。 因为没有改变合约的状态,所以...

王坤charlie
今天
2
0
C#下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

sxtwl_cpp是寿星天文历的C++版本实现。支持多种语言的绑定 代码首页 懒人包 懒人包使用方法 1、右链工程中的引用-》添加引用-》浏览-》选中dotnet目录下的sxtwl.net.dll 2、生成解决方案-》找...

元谷
今天
3
0
C++基础知识

链接:https://zhuanlan.zhihu.com/p/38399566 本文主要提一下以下三个区别: 引用必须初始化,而指针可以不初始化。 我们在定义一个引用的时候必须为其指定一个初始值,但是指针却不需要。 ...

悲催的古灵武士
今天
1
0
Oracle备份脚本,保留10天数据

@echo off echo 删除10天前的备分文件和日志forfiles /p "D:\oracleback\backfile" /m *.dmp /d -10 /c "cmd /c del @path" forfiles /p "D:\oracleback\backfile" /m *.log /d -10......

lyle_luo
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部