TCMalloc (google-perftools) 是用于优化C++写的多线程应用,比glibc 2.3的malloc快。这个模块可以用来让MySQL在高并发下内存占用更加稳定。
下载二个软件地址:
libunwind:http://download.savannah.gnu.org/releases/libunwind/
安装步骤:
1.64位操作系统请先安装 libunwind库,32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。
#tar zxvf libunwind-0.9.tar.gz
#cd libunwind-0.99
#./configure
#make
#make install
2.安装google-perftools:
#tar zxvf google-perftools-1.6.tar.gz
#cd google-perftools-1.6
#./configure
#make
#make install
3.运行以下二行命令
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig
4.修改MySQL启动脚本(根据你的MySQL安装位置而定):
vi /usr/local/mysql/bin/mysqld_safe
在# executing mysqld_safe的下一行,加上:
保存后退出,然后重启MySQL服务器。
如果发现以下信息,说明tcmalloc已经起效:
mysqld 10847 mysql mem REG 8,5 1203756 20484960 /usr/local/lib/libtcmalloc.so.0.0.0
----------------------------------------------------------------------
http://google-perftools.googlecode.com/files/google-perftools-1.7.tar.gz
安装过程一样,执行/usr/sbin/lsof -n | grep tcmalloc,显示如下:
mysqld 4358 mysql mem REG 253,0 1800149
本文介绍了如何通过集成TCMalloc和libunwind来优化C++多线程应用性能,进而提升MySQL在高并发场景下的内存稳定性。通过详细的操作步骤和配置方法,帮助开发者实现内存占用的优化。
8342

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



