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