您的位置:首页 > 博客中心 > 数据库 >

Tcmalloc优化Mysql内存管理

时间:2022-03-10 18:03

64位操作系统,如下

# ./configure

32位系统,不需要安装libunwind,但是一定要添加–enable-frame-pointers参数,如下

# ./configure --enable-frame-pointers

然后, make && make install

# make && make install

注意:这里也是使用默认配置安装的,默认路径为/usr/local,且Tcmalloc库也是是安装在/usr/local/lib目录下

安装完成之后,建议TCmaloc库加载到Linux系统中,具体操作如下:

# echo ‘/usr/local/lib‘ > /etc/ld.so.conf.d/local.conf
# /sbin/ldconfig     #必须执行


3、使用TCMalloc优化
使用tcmalloc优化Mysql可以通过两种方法来实现,分别为:动态加载、静态编译

采用静态编译:

MySQL 5.1静态编译方法,./configure预编译时假设下面参数

--with-mysqld-ldflags=-ltcmalloc

MySQL 5.5静态编译方法,cmake预编译时加上下面参数

-DCMAKE_EXE_LINKER_FLAGS="-ltcmalloc" -DWITH_SAFEMALLOC=OFF


采用动态加载:

动态加载比较方便,不需要重新安装mysql,只需要修改在mysqld_safe添加一条语句然后重启就行。具体操作如下:

# vim /usr/local/mysql/bin/mysqld_safe
···
export LD_preLOAD="/usr/local/lib/libtcmalloc.so"
···

# service mysqld restart

注意:这里必须在LD_preLOAD前面加上export,否则不生效。

或者采用以下方式

# sed -i ‘s@executing mysqld_safe@executing mysqld_safe\nexport LD_preLOAD=/usr/local/lib/libtcmalloc.so@‘ /usr/local/mysql/bin/mysqld_safe
# service mysqld restart

验证加载tcmalloc在MySQL中是否生效,如下:

[root@localhost bin]# lsof -n | grep tcmalloc
mysqld  3166  mysql mem    REG   8,2  1853298   32406 /usr/local/lib/libtcmalloc.so.4.1.2


本文出自 “” 博客,请务必保留此出处

Tcmalloc优化Mysql内存管理,布布扣,bubuko.com

热门排行

今日推荐

热门手游