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