1、perf命令简要介绍

性能调优时,我们通常需要分析查找到程序百分比高的热点代码片段,这便需要使用 perf record 记录单个函数级别的统计信息,并使用 perf report 来显示统计结果;

perf record

perf report

举例:

sudo perf record -e cpu-clock -g -p 2548

-g 选项是告诉perf record额外记录函数的调用关系

-e cpu-clock 指perf record监控的指标为cpu周期

-p 指定需要record的进程pid

程序运行完之后,perf record会生成一个名为perf.data的文件,如果之前已有,那么之前的perf.data文件会被覆盖

获得这个perf.data文件之后,就需要perf report工具进行查看

perf report-i perf.data

-i 指定要查看的文件

以诊断mysql为例,report结果:

$sudo perf report  -i perf.data

这种格式很不直观

2、使用火焰图展示结果

我们以perf为例,看一下flamegraph的使用方法:

1、第一步

$sudo perf record -e cpu-clock -g -p 28591

Ctrl+c结束执行后,在当前目录下会生成采样数据perf.data.

2、第二步

用perf script工具对perf.data进行解析

perf script -i perf.data &> perf.unfold

3、第三步

将perf.unfold中的符号进行折叠:

#./stackcollapse-perf.pl perf.unfold &> perf.folded

4、最后生成svg图:

./flamegraph.pl perf.folded > perf.svg

mysql火焰图_perf + 火焰图分析程序性能 - 刘志鹏的Blog - 博客园相关推荐

  1. 程序员你不懂爱,博客园就要倒下来。。

    不知道大家还记不记得,那个上非诚勿扰,一说是干PHP的而惨招全部灭灯的男嘉宾.我看了下男嘉宾,长得眉清目秀,一表人才的,怎么那些个非诚勿扰的女嘉宾们就看不上眼呢?这未免让人反思,程序员这个职业,就不配 ...

  2. ASP.NET Core中实现单体程序的事件发布/订阅 - LamondLu - 博客园

    标题:ASP.NET Core中实现单体程序的事件发布/订阅作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/10468058.html 项目源代码:h ...

  3. YY博客园UML用例图-活动图-状态图之博客模块

    UML建模YY系列: YY博客园UML类图之博客模块 YY博客园UML时序图之博客模块 YY博客园UML用例图-活动图-状态图之博客模块 前面YY了博客园UML类图之博客模块和博客园UML时序图之博客 ...

  4. 用dotTace模仿下老赵的“使用Profiler分析程序性能”

    最近看到老赵博客"使用Profiler分析程序性能"(http://www.cnblogs.com/JeffreyZhao/archive/2009/12/22/profiler- ...

  5. [chrome插件分享] 博客园是个好图床 image-uploader

    说明 去年做了一款 windows 下的图片上传程序,[自制小工具含源码--博客园图床ImageBed], 但是这个小工具只适用于 windows 平台,自从换了 Mac 以后就不能用了.于是萌生了再 ...

  6. 我的架构设计~用层关系图说说mvc,mvvm,soa,ddd - 张占岭 - 博客园

    我的架构设计~用层关系图说说mvc,mvvm,soa,ddd - 张占岭 - 博客园

  7. 详细分析MySQL的日志(一)本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9001061.html

    本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9001061.html 官方手册:https://dev.mysql.com/doc/refm ...

  8. python 等高线地图图片转 tin_由等高线生成TIN并由TIN生成坡度图【解决中文环境翻译差别的问题】(转载请注明出自博客园)...

    由等高线等生成TIN并生成坡度图的代码.在softline代码段对错误信息作了处理,不再使用"软线","软性线","柔性线","软 ...

  9. 使用博客园做MarkDown图床

    0. 致谢 众所周知,写Markdown最痛苦的事情莫过于图片的处理方式,由此衍生出各种奇巧淫技和方式方法,此不赘述. 在我踌躇之际,搜索了一下将博客园做图床的可行性,由此得出本文. 在此感谢博客园开 ...

最新文章

  1. 北京清华长庚医院与数据院签约,医工结合促医疗大健康发展
  2. 高通平台Tag精确寻找进阶教程
  3. SqlServer索引的原理与应用
  4. (大整数类Biginteger)大斐波数
  5. 浅谈MVP与Model-View-ViewModel(MVVM)设计模式
  6. PHP 使网站进行跨域访问
  7. SDE ST_Geometry SQL st_intersects查询很慢的解决方法
  8. flask对mysql数据库增删改查_flask后台框架1.4(mysql配置+数据库增删改查)-Go语言中文社区...
  9. StringBuffer和String,StringBuilder的区别?
  10. Python学习手册之内部方法、操作符重载和对象生命周期
  11. Posterino常见问题:为什么渲染的文档在打印时看起来模糊?
  12. 微信小程序 java运动健身课程打卡系统uniapp
  13. Java Web九大内置对象及四大域对象
  14. 小米SN保修_一次真实但糟糕的小米笔记本售后
  15. Win10恢复照片查看器
  16. Excel VBA:填充——FillDown方法
  17. Vue商城——首页功能
  18. 二类电商运营怎么选品 二类电商怎么运营?
  19. c语言求圆周率 . 4,C语言求圆周率π(三种方法)(4页)-原创力文档
  20. 2021年中国原油加工行业供需回顾及发展趋势分析[图]

热门文章

  1. paper weekly_Android Weekly:Galaxy Fold详细信息,可在17分钟内充电的4000 mAh电池等
  2. Kubernetes哪一点最打动你?或者,它发布过的哪一项特性让你认为最厉害?
  3. android 语音自动分句,进行音频断句的自动拆分方法及系统与流程
  4. surface装双系统后在移动硬盘上装ubuntu系统
  5. ChatGPT 免费体验来了
  6. IMX6Q的硬编码(VPU)的工程代码移植
  7. 友芝友生物冲刺港交所上市:极其依赖单一供应商,周鹏飞为董事长
  8. Uniapp返回上一页触发页面更新
  9. 如何格式化日期和时间
  10. 打上花火(打ち上げ花火) --罗马音歌词中文谐音歌词