参考: MySQL bug:https://bugs.mysql.com/bug.php?id=83047&tdsourcetag=s_pcqq_aiomsg
https://github.com/jemalloc/jemalloc/blob/dev/INSTALL.md
(1)ptmalloc 是glibc的内存分配管理
(2)tcmalloc 是google的内存分配管理模块
(3)jemalloc 是BSD的提供的内存分配管理 (可以使用jemalloc优化Nginx)
三者jemalloc和tcmalloc的性能不分伯仲,而ptmalloc则要低一些
1、下载最新版jemalloc
git clone https://github.com/jemalloc/jemalloc
cd jemalloc
[root@bogon jemalloc]# cat VERSION
5.1.0-108-gc4063ce439523d382f2dfbbc5bf6da657e6badb0
2、安装步骤:
./autogen.sh
./configure
make
make install
[root@bogon jemalloc]# make install
/usr/bin/install -c -d /usr/bin
/usr/bin/install -c -m 755 bin/jemalloc-config /usr/bin
/usr/bin/install -c -m 755 bin/jemalloc.sh /usr/bin
/usr/bin/install -c -m 755 bin/jeprof /usr/bin
/usr/bin/install -c -d /usr/include/jemalloc
/usr/bin/install -c -m 644 include/jemalloc/jemalloc.h /usr/include/jemalloc
/usr/bin/install -c -d /usr/lib
/usr/bin/install -c -m 755 lib/libjemalloc.so.2 /usr/lib
ln -sf libjemalloc.so.2 /usr/lib/libjemalloc.so
/usr/bin/install -c -d /usr/lib
/usr/bin/install -c -m 755 lib/libjemalloc.a /usr/lib
/usr/bin/install -c -m 755 lib/libjemalloc_pic.a /usr/lib
/usr/bin/install -c -d /usr/lib/pkgconfig
/usr/bin/install -c -m 644 jemalloc.pc /usr/lib/pkgconfig
/usr/bin/install -c -d /usr/share/doc/jemalloc
/usr/bin/install -c -m 644 doc/jemalloc.html /usr/share/doc/jemalloc
/usr/bin/install: cannot stat ‘doc/jemalloc.html’: No such file or directory
make: *** [install_doc_html] Error 1
[root@bogon jemalloc]#
默认安装目录:
PREFIX : /usr/local
BINDIR : /usr/local/bin
DATADIR : /usr/local/share
INCLUDEDIR : /usr/local/include
LIBDIR : /usr/local/lib
MANDIR : /usr/local/share/man
3、配置mysqld使用jemalloc,需要将配置写到[mysqld_s

文章讲述了jemalloc在MySQL优化中的使用,比较了jemalloc、tcmalloc和ptmalloc的性能,发现jemalloc在ARM64架构上由于默认hugepages大小导致内存使用激增。通过修改hugepages设置和内核配置,解决了内存占用问题。

2184

被折叠的 条评论
为什么被折叠?



