gperftools mysql_利用 gperftools 对nginx mysql 内存管理 性能优化
利用 gperftools 对nginx 与 mysql 进行 内存管理 性能优化 降低负载.
Gperftools 是由谷歌开发。官方对gperftools 的介绍为:
These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.
首先下载软件安装包:
由于我们的系统为CentOS 5.8 x64的系统, 64位系统需要先安装 libunwind 支持库。
wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz
gperftools 2.0版本
wget http://gperftools.googlecode.com/files/gperftools-2.0.tar.gz
安装软件包
tar zxvf libunwind-1.1.tar.gz
cd libunwind-1.1
./configure
make && make install
tar zxvf gperftools-2.0.tar.gz
cd gperftools-2.0
./configure --enable-frame-pointers
make && make install
增加 gperftools 线程目录
mkdir /tmp/tcmalloc
设置权限
chmod 777 /tmp/tcmalloc
配置lib 库文件目录
vim /etc/ld.so.conf
增加
/usr/local/lib
/sbin/ldconfig 使之生效
重新编译nginx 使其支持gperftools
tar zxvf nginx-1.2.3.tar.gz
cd nginx-1.2.3
./configure --user=upload --group=upload --prefix=/opt/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-google_perftools_module
make && make install
安装完毕以后, 修改 nginx 配置文件 nginx.conf
vim /opt/local/nginx/con/nginx.conf
在pid 下面增加
#gperftools
google_perftools_profiles /tmp/tcmalloc;
然后保存,启动nginx
/opt/local/nginx/sbin/nginx -t 查看配置是否正常
lsof -n | grep tcmalloc 查看是否运行
nginx 18454 upload 10w REG 8,2 0 10780681 /tmp/tcmalloc.18454
nginx 18455 upload 12w REG 8,2 0 10780682 /tmp/tcmalloc.18455
---------------------------------------------------------------------------------
优化Mysql 则不需要重新编译mysql 只需要找到 mysqld_safe 这个文件
在# executing mysqld_safe 下面加上
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so
然后重启mysql 就可以啦.
gperftools mysql_利用 gperftools 对nginx mysql 内存管理 性能优化相关推荐
- Mysql 内存管理及优化
Mysql 内存管理及优化 1)内存优化原则 1) 将尽量多的内存分配给 MySQL 做缓存,但要给操作系统和其他程序预留足够内存. 2) MyISAM 存储引擎的数据文件读取依赖于操作系统自身的 I ...
- 视频教程-iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-iOS
iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化 小码哥教育CEO,曾开发了2个iOS的流行开源框架(MJRefresh.MJExtension),目前在国内的使用率非常高. 李 ...
- iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-李明杰-专题视频课程...
iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-236人已学习 课程介绍 得遇名师,突飞猛进!iOS培训王者MJ(李明杰)老师精心研发,iOS进阶课程,实用技术 ...
- 关于mysql内存管理_MYSQL内存管理及优化
MYSQL内存管理及优化 内存是影响数据库性能的主要资源,也是mysql性能优化的一个重要方面: 内存优化的原则 将尽量多的内存分配给mysql做缓存,但是要给操作系统和其他程序的运行预留足够的内存, ...
- 内存分配器 mysql_聊MySQL内存管理,内存分配器,操作系统
推荐(免费):mysql视频教程 当用户在使用任何软件(包括MySQL)时遇到内存问题,我们的第一反应就是内存泄漏.正如本文所示,情况并非总是如此. 本文描述了一个关于内存的bug. 所有Percon ...
- 【Unity】Unity内存管理与优化(一)内存域、堆栈、垃圾回收、内存泄漏、内存碎片
文章目录 Unity内存 内存域 - 托管域 - 本地域 - 外部库 - 跨桥操作 堆和栈 - 栈 - 堆 - 堆栈的使用 垃圾回收 - Mono内存分配过程 - 内存泄漏 - 内存碎片 - 运行时垃 ...
- C语言 --- 动态内存管理(上)+优化版通讯录+笔试题
文章目录 前言 一.为什么存在动态内存分配 二.动态内存函数的介绍 2.1.malloc函数+free函数 2.2.calloc函数+free函数 2.3.realloc函数 三.常见的动态内存错误 ...
- 高性能Mysql之查询性能优化
高性能Mysql之查询性能优化 为什么查询速度会慢 慢查询基础:优化数据访问 重构查询的方式 MySQL查询优化器的局限性 优化特定类型的查询 即使我们设计了一个最优的库表结构,建好了最好的索引,如果 ...
- 【Linux 内核 内存管理】优化内存屏障 ③ ( 编译器屏障 | 禁止 / 开启内核抢占 与 方法保护临界区 | preempt_disable 禁止内核抢占源码 | 开启内核抢占源码 )
文章目录 一.禁止 / 开启内核抢占 与 方法保护临界区 二.编译器优化屏障 三.preempt_disable 禁止内核抢占 源码 四.preempt_enable 开启内核抢占 源码 一.禁止 / ...
最新文章
- 插件框架Extensible Framework for Delphi
- WindowsForm 计算器
- 【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同
- python 学习5--matplotlib画图实践
- ajax+lazyload时lazyload失效问题及解决
- 【Computer Organization笔记12】流水线技术概述
- 收藏 | NLP论文、代码、博客、视频资源(LSTM,指针模型,Attention, ELMo,GPT,BERT、多任务学习等)...
- 入门 | 神经网络词嵌入:如何将《战争与和平》表示成一个向量?
- 故障:在 Application Log 中出现 ID57860 的 Backup Exec 错误日志
- SSR (misa + primer3 ) 设计SSR引物
- 金蝶盘点机PDA仓库条码管理:仓库如何盘点
- 万网域名转向指定URL地址
- echo命令的15个用法
- oracle ogg是什么
- Wifi的密码长度有何限制
- 互联网协议-简单理解和介绍
- 2022-2028全球植物生长帐篷行业调研及趋势分析报告
- Python期末复习
- 软件产品的税收优惠政策
- DateUtil时间处理插件
热门文章
- 我的第一次Pascal程序
- hihocoder1477 闰秒
- MySQL中order by中关于NULL值的排序问题
- 【VS开发】static、extern分析总结
- 关于开发中的常用手段(个人建议)
- oracle rac理解和用途扩展
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第51篇]什么是基于ID的加密的安全模型,描述一个IBE方案
- uos20专业版是linux哪个版本,WPS Office 2019 for Linux 专业版已与统一操作系统 UOS 完成适配...
- micropython stm32f407 以太网_[MicroPython]STM32F407开发板DIY声光控开关
- app开发人脸登录和指纹登录_易讯云通讯推出“一键登录”,为App登录提供新方案...