MySQL替换默认内存分配器为tcmalloc

背景: 生产上发现有套MySQL实例的内存占有率一直在涨,这台机器日常只有连接(查询、修改数据)

在经历几次的大批量导入工单的后,MySQL的内存占用高居不下。查了ps库,内存使用的几个指标都是正常的,怀疑是glibc的内存碎片导致的,怀疑是glibc的内存碎片导致的。

1 安装libunwind

cd /root/ wget --no-check-certificate http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-beta.tar.gz tar xf libunwind-0.99-beta.tar.gz cd libunwind-0.99-beta CFLAGS=-fPIC ./configure --enable-shared make CFLAGS=-fPIC make CFLAGS=-fPIC install