安装tcmalloc内存控制模块,并配置mysql使用-阿里云开发者社区

开发者社区> 技术小胖子> 正文

安装tcmalloc内存控制模块,并配置mysql使用

简介:
+关注继续查看

这个tcmalloc很出名了,是google出的内存管理模块,比传统模块控制更合理,能应付更高的并发,而且也更稳定.

不过这个模块不是系统自带的,没有原生安装,所以需要手动去安装操作,稍微有点麻烦.这个模块包含在google封装的工具集google-perftools里面.


安装

先安装相关运行库,因为是用c++写的,需要make,还有一个运行环境libunwind

1
yum -y install gcc make gcc-c++ libunwind

然后下载并安装google-perftools

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#下载源码包
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.5/gperftools-2.5.tar.gz
#解压源码包
tar xf gperftools-2.5.tar.gz
#开始编译安装
./confighre
make
make install
#搜索一下,找到安装好的相关C库文件
find / -name libtcmalloc.so
/usr/local/lib/libtcmalloc.so
/opt/gperftools-2.5/.libs/libtcmalloc.so
#创建lib库软连接,这样就不需要用ldconfig了
ln -sf /usr/local/lib//usr/lib/
#完成
ll /usr/lib/libtcmalloc.so
lrwxrwxrwx. 1 root root 29 Jan 23 12:05 /usr/lib/libtcmalloc.so -> /usr/local/lib/libtcmalloc.so

安装完成,就等程序调用了,懂开发的可以测试一下,我这里直接用mysql调用.

===============================================

因为这个软件略难找,这个链接也不知道什么时候失效,我上传到51cto下载了

http://down.51cto.com/data/2437899

===============================================


配置mysql使用

使用mysql调用这个模块,有两种方法,一种就是加载到mysqld_safe启动,另一种就是加载的配置文件.不过,都要重启mysql程序才能生效,其他程序亦然.

没有项目加载的话,下面这条命令是没有返回的

1
lsof -n | grep tcmalloc

然后,加到mysql的配置文件my.cnf

1
2
3
4
5
6
7
8
9
10
11
12
#打开mysql配置文件,添加下面两行
vim /usr/local/mysql/my.cnf
    .
    .
    .
[mysqld_safe]
malloc-lib=tcmalloc
    .
    .
    .
#重启mysql
/etc/init.d/mysql restart

注意:如果是正常安装并加载libtcmalloc.so的话,是不会报错的,重启将直接生效.如果有报错,则需要研究一下哪里做错了,或者尝试重新安装.

现在来看看使用上没有

1
2
3
4
lsof -n | grep tcmalloc
mysqld     3665         mysql  mem       REG              253,0    1050408  100663894 /usr/local/lib/libtcmalloc_minimal.so.4.3.0
mysqld     3665  3666   mysql  mem       REG              253,0    1050408  100663894 /usr/local/lib/libtcmalloc_minimal.so.4.3.0
mysqld     3665  3669   mysql  mem       REG              253,0    1050408  100663894 /usr/local/lib/libtcmalloc_minimal.so.4.3.0

可以明确看到,mysql已经加载上这个模块了,那就可以用了






     本文转自arthur376 51CTO博客,原文链接:http://blog.51cto.com/arthur376/2064226,如需转载请自行联系原作者





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
关于ssm框架使用mysql控制台出现警告问题
使用MySQL时,总会时不时出现这种警告信息 警告信息:WARN: Establishing SSL connection without server's identity verification is not recommended.   出现这个警告的原因是: MySQL在高版本需要指明是否进行SSL连接。
959 0
nginx配置怎么请求转发location及rewrite规则?
nginx配置怎么请求转发location及rewrite规则?
3045 0
PostgreSQL和Slony-I的安装和配置
PostgreSQL和Slony-I的安装和配置 Published by wesley.he May 12th, 2008 in icyriver and technique. 浏览次数: 12277 Tags: icyriver, internet, postgresql, programming, technique. 随着Mysql被Sun收购,不少web开发者和架构师开始关注PostgreSQL。
715 0
MacOS 等机器配置 Docker 启用 Remote API
Docker 不仅可以通过本地命令行`docker`命令进行调用,还可以通过开启远程控制 API,使用 HTTP 调用接口来进行访问,远程控制 Docker Daemon 来做很多操作。
88 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载