文档章节

Tcmalloc对Mysql及Nginx内存管理优化

xinson
 xinson
发布于 2014/06/19 18:01
字数 345
阅读 45
收藏 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
博文 135
码字总数 30457
作品 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
2018/06/26
0
0
深入了解tcmalloc(一):windows环境下无缝拦截技术初探

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

窗台跳舞的猫
2014/06/03
0
1
Google PerfTools 2.1 发布

这个工具可让开发创建更强大的应用程序,特别是那些用C++模版开发的多线程应用程序,包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。 Gperftools 2.1正式版发布。2013-07-30经过...

fei
2013/08/22
5.4K
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
8
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
3
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部