高级搜索库tcmalloc 在 MySQL中的应用
2015-11-04 20:46
537 查看
高级搜索库tcmalloc 在 MySQL中的应用
如果操作系统是rhel 5或者rhel6的话,使用内存表多的库会出现内存占用不释放的问题,最终导致占用swap,经测试采用mysql+tcmalloc可以解决这个问题。TCMalloc(Thread-Caching Malloc)是google-perftools工具中的一个,与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高得多,可以提高Mysql服务器在高并发情况下的性能,降低系统负载下面介绍怎样部署1. 下载源码的mysql包,注意不是二进制的,用二进制的话tcmalloc无法生效Wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.68.tar.gz2. 下载tcmalloc源码包wget https://gperftools.googlecode.com/files/gperftools-2.0.tar.gz3. 安装tcmalloc解压之后编译mkdir /tmp/tc
./configure –prefix=/tmp/tc –disable-cpu-profiler –disable-heap-profiler –disable-heap-checker–disable-debugalloc –enable-minimalmakemake installmkdir /usr/local/libcp /tmp/tc/lib/libtcmalloc_minimal.so*/usr/local/lib4. 安装mysql解压之后编译./configure--prefix=/usr/local/mysql5168 --enable-assembler --with-client-ldflags=-all-static--with-charset=utf8 --with-extra-charsets=all --with-readline--enable-local-infile --enable-thread-safe-client --with-big-tables--without-debug --without-embedded-server --without-benchMakeMake installln -s mysql5168/ mysql./scripts/mysql_install_db --user=mysql5. Mysql加入动态库在/usr/local/mysql/bin/mysqld_safe中的# executing mysqld_safe一行的下面加上exportLD_PRELOAD="/usr/local/lib/libtcmalloc_minimal.so"6. 启动mysql/etc/init.d/mysqld start7. 检测tcmalloc是否被mysql使用[root@R720-mysql_10tmp]# lsof|grep tcmallocmysqld 1498 mysql mem REG 8,3 1116297 698517/usr/local/lib/libtcmalloc_minimal.so[root@R720-mysql_10 tmp]#如果有结果说明成功
本文出自 “zhangdh开放空间” 博客,请务必保留此出处http://linuxblind.blog.51cto.com/7616603/1709771
如果操作系统是rhel 5或者rhel6的话,使用内存表多的库会出现内存占用不释放的问题,最终导致占用swap,经测试采用mysql+tcmalloc可以解决这个问题。TCMalloc(Thread-Caching Malloc)是google-perftools工具中的一个,与标准的glibc库的malloc相比,TCMalloc在内存的分配上效率和速度要高得多,可以提高Mysql服务器在高并发情况下的性能,降低系统负载下面介绍怎样部署1. 下载源码的mysql包,注意不是二进制的,用二进制的话tcmalloc无法生效Wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.68.tar.gz2. 下载tcmalloc源码包wget https://gperftools.googlecode.com/files/gperftools-2.0.tar.gz3. 安装tcmalloc解压之后编译mkdir /tmp/tc
./configure –prefix=/tmp/tc –disable-cpu-profiler –disable-heap-profiler –disable-heap-checker–disable-debugalloc –enable-minimalmakemake installmkdir /usr/local/libcp /tmp/tc/lib/libtcmalloc_minimal.so*/usr/local/lib4. 安装mysql解压之后编译./configure--prefix=/usr/local/mysql5168 --enable-assembler --with-client-ldflags=-all-static--with-charset=utf8 --with-extra-charsets=all --with-readline--enable-local-infile --enable-thread-safe-client --with-big-tables--without-debug --without-embedded-server --without-benchMakeMake installln -s mysql5168/ mysql./scripts/mysql_install_db --user=mysql5. Mysql加入动态库在/usr/local/mysql/bin/mysqld_safe中的# executing mysqld_safe一行的下面加上exportLD_PRELOAD="/usr/local/lib/libtcmalloc_minimal.so"6. 启动mysql/etc/init.d/mysqld start7. 检测tcmalloc是否被mysql使用[root@R720-mysql_10tmp]# lsof|grep tcmallocmysqld 1498 mysql mem REG 8,3 1116297 698517/usr/local/lib/libtcmalloc_minimal.so[root@R720-mysql_10 tmp]#如果有结果说明成功
本文出自 “zhangdh开放空间” 博客,请务必保留此出处http://linuxblind.blog.51cto.com/7616603/1709771
相关文章推荐
- mysql命令操作
- Ubuntu下安装mysql和使用
- Mysql语法学习
- MySQL_CRUD基础语句
- Mysql学习--索引(一)
- MySql 插入(insert)性能测试
- mysql 学习笔记
- 一键安装lnmp-mysql(4)
- Mysql:Forcing close of thread 756 user: 'root'
- Erwin 生成 mysql 带注释(comment )的脚本
- mysql 用sql 语句去掉某个字段重复值数据的方法
- Mysql数据库大表归档操作
- mysql分表分库
- MySQL多表查询
- Mysql 5.7多源复制及并行复制功能
- Mysql 5.7多源复制及并行复制功能
- mysql存储过程和存储函数
- 获取当前时间的MySql时间函数
- MYSQL主从不同步延迟原理分析及解决方案
- MYSQL主从不同步延迟原理分析及解决方案