本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
jemalloc强调了碎片避免和可扩展的并发支持。jemalloc于2005年首次作为FreeBSD libc分配器使用,从那以后它已经进入许多依赖于其可预测行为的应用程序。jemalloc适合多线程下内存分配管理,jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。如下图:
安装jemalloc
可以从Github:https://github.com/jemalloc/jemalloc/releases 获取最新版本的jemalloc,安装方法如下(仅供参考)
#安装依赖
yum -y install gcc gcc-c++
#下载jemalloc
wget http://soft.xiaoz.org/linux/jemalloc-5.2.0.tgz
tar -zxvf jemalloc-5.2.0.tgz
cd jemalloc-5.2.0
#安装jemalloc
./configure
make && make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
ldconfig
jemalloc优化MySQL
MySQL/MaridDB 5.5编译方法,cmake预编译时加上下面参数
-DCMAKE_EXE_LINKER_FLAGS="-ljemalloc" -DWITH_SAFEMALLOC=OFF
jemalloc优化Nginx
在编译nginx的时候直接添加--with-ld-opt=-ljemalloc
参数即可
最后
输入命令lsof -n | grep jemalloc
可以查看jemalloc是否已经生效,如下截图。
此文部分内容参考了:jemalloc优化MySQL、Nginx内存管理