一:jemalloc 简介
jemalloc 强调了碎片避免和可扩展的并发支持。jemalloc于2005年首次作为FreeBSD libc分配器使用,从那以后它已经进入许多依赖于其可预测行为的应用程序。jemalloc适合多线程下内存分配管理,jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。有时候,我们想采用Jemalloc来替代glibc库的malloc内存管理方式,或者如果想启用TokuDB引擎,则就必须启用Jemalloc才行了。
二:安装 jemalloc
1. yum 安装 jemalloc
1) 安装
yum install jemalloc -y
yum install tcmalloc -y
2) 生效 LD_PRELOAD 环境变量
source /usr/bin/jemalloc.sh
env|grep LD_PRELOAD
2. 编译安装 jemalloc
1) 下载安装包
wget https://github.com/jemalloc/jemalloc/releases/download/5.1.0/jemalloc-5.1.0.tar.bz2
2)解压编译安装
tar jxvf jemalloc-5.1.0.tar.bz2
cd jemalloc-5.1.0
./configure --prefix=/usr
make && make install
##注意这里要指定编译路径,否则mysql启动的时候会报如下错误
mysqld_safe --malloc-lib must be located in one of the directories: /usr/lib /usr/lib64 /usr/lib/i386-linux-gnu /usr/lib/x86_64-linux-gnu
##反向操作
make uninstall && make clean
make -f dc_debug.mak clean
三:启动MySQL如何加载 Jemalloc