除了mysql原生的内存分配器之外,还有两种内存分配器的性能更佳。在之前遇到过mysql内存泄漏的问题中,通过更换内存分配器的方式成功解决。以下是两种内存分配器的配置方法:
jemalloc
1.安装jemalloc
git clone https://github.com/jemalloc/jemalloc
cd jemalloc
./autogen.sh
./configure
make && make install
2.mysql配置jemalloc
修改mysql配置文件,添加
[mysqld_safe]
malloc-lib=/usr/local/lib/libjemalloc.so
3.重启mysql
tcmalloc
1.安装tcmalloc
yum -y install gcc make gcc-c++ libunwind
git https://github.com/gperftools/gperftools
cd gperftools
./autogen.sh
./configure
make && make install
2.mysql配置tcmalloc
[mysqld_safe]
malloc-lib=/usr/local/lib/tcmalloc.so
3.重启mysql