Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题

  最近在centos机器上安装perf对代码做性能测试。百度了一通,使用yum install perf* 这个命令就可以了,结果能正常运行、得到性能测试的报告,但是看不到代码
里面的函数名,这怎么分析啊?
  于是走上了一条百度路,一路排除命令没有问题,编译的时候加了-g,最后选择下载linux内核源码(下载地址: https://www.kernel.org/pub/linux/kernel),自己根据自己机器的内核版本下载相应的源码把 ),cd 到tools/perf 下,然后make。我没有仔细看make的输出信息(结果这是个坑),但是最终生成了一个perf的运行程序。以为万事大吉,继续进行性能测试。啊哈,跑了一遍,还是那个样子,当时我很沮丧。本着就是不信这个邪的原理,有重新下了一个版本的linux源码,重编一下,发现有报WARN,叫我yum 安装一些包,抱着试一试,按照WARN说的,逐一yum 相应的包,结果就好了。
  特此记录一下,反正我在网上没有找到我这种答案。其次,yum install perf*,在按照一些博客说的方法下一些包,也没有解决我的问题。
  反正问题解决了。happy。
Linux 下性能分析工具:perf
地址: http://www.cnblogs.com/happyliu/p/6142929.html
http://sanwen.net/a/nzsrvoo.html
perf record -e cpu-clock -g -p 2548
-g 选项是告诉perf record额外记录函数的调用关系
-e cpu-clock 指perf record监控的指标为cpu周期
-p 指定需要record的进程pid
Flame Graph项目位于GitHub上: https://github.com/brendangregg/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
PS:建议下载内核源码,通过内核源码编译perf (地址: https://www.kernel.org/pub/linux/kernel ),对tools/perf 进行make,有需要下载的组件,就下载
也可以考虑使用valgrind的性能分析,地址: http://www.cnblogs.com/zengkefu/p/5642991.html 但是感觉使用效果不怎么样

Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题相关推荐

  1. mysql火焰图_【性能】如何使用perf和火焰图分析系统性能?

    一.实验环境 二.实验案例分析 安装完成后,我们先在第一个终端,执行下面的命令运行案例,也就是一个最基本的 Nginx 应用: 运行 Nginx 服务并对外开放 80 端口 # docker run ...

  2. linux下内存性能测试工具STREAM

    Linux下内存性能测试 简介 下载并解压 编译 运行 运行结果 结果分析 简介 Stream测试是内存测试中业界公认的内存带宽性能测试基准工具,stream由Virginia University提 ...

  3. linux perf生成火焰图,火焰图:全局视野的Linux性能剖析

    原标题:火焰图:全局视野的Linux性能剖析 文章背景 日常的工作中,会收到一堆CPU使用率过高的告警邮件,遇到某台服务的 CPU被占满了 ,这时候我们就要去查看是什么进程将服务器的CPU资源占用满了 ...

  4. 【Linux性能分析】火焰图(Flame Graphs)的安装和基本用法

    转载:火焰图(Flame Graphs)的安装和基本用法 火焰图(Flame Graphs)的安装和基本用法 火焰图(Flame Graphs) 一.概述: 火焰图(flame graph)是性能分析 ...

  5. perf与火焰图使用介绍

    一.介绍 perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu.进程id.运行栈等),利 ...

  6. linux下 C++性能测试工具 gprof 和 gprof2dot

    http://www.4ucode.com/Study/Topic/1909519 http://coolaj86.info/articles/super-simple-gprof.html http ...

  7. linux下插入的mysql数据乱码问题及第三方工具显示乱码问题

    一.lampp环境下的数据库乱码问题 问题描述: 在做mysql练习的时候发现新创建的数据库中插入数据表中的记录中文出现乱码的问题,如下图: 经过多方查证,整里如下文挡: 前提: 我自己的环境是使用的 ...

  8. linux下jmeter性能测试

    1.linux下执行jmeter命令: ./jmeter -n -t 脚本地址.jmx -r -l 测试结果地址.jtl -e -o 转换成测试报告html格式存放的地址/test_results/a ...

  9. 三款Linux下最好的看图工具GPicView,sxiv,feh

    在windows上一直用Picasa,但在Linux下,Google停止了对Picasa的支持.又鉴于hit9一贯喜欢轻巧简单的东西,就学找了三款,都很简单,一个比一个骨感.其中,GPicView是上 ...

最新文章

  1. Jeff Dean谈2020年机器学习趋势:多任务和多模式学习将成为突破口
  2. 解决win下安装wordcloud出错问题
  3. 软件调试学习笔记(三)—— 调试事件的处理
  4. 笔记-中项案例题-2020年下-质量管理
  5. SAP S/4HANA销售订单的类型建模细节
  6. Android 仿王者荣耀广告弹窗,android仿王者荣耀对战资料之能力图
  7. 十八.多个SLAM框架(A-LOAM、Lego-loam、LIO-SAM、livox-loam)室外测试效果粗略对比分析
  8. 职场上人和人的差距是怎样拉开的?
  9. Kaldi AMI数据集脚本学习3---run_ihm.sh stage 1~3
  10. Fastjson源码阅读:缺陷静态检查(上)
  11. 正确写理想的学术论文英文摘要
  12. jquery 校验中国身份证号码
  13. linux系统文件颜色所代表的意思
  14. 益智java单词游戏_java实现单词搜索迷宫游戏
  15. 黑马程序员--java基础--集合(三)
  16. 微信小程序getUserInfo无法获取用户信息
  17. 使用mongo shake实现从一个单实例mongo往多个mongo单实例进行数据同步
  18. Sampler 在数据下沉模式超时; 不同Sampler策略,在非数据下沉模式下,模型训练失败 报错Segmentation fault(core dumped)
  19. Android的显示色彩位数
  20. openlayers小车_计算机科学与软件工程学院本科生双创项目答辩结果重磅推出

热门文章

  1. Jenkins实现自动化部署
  2. 背水之赌:孤注ARM或成软银最后的冒险
  3. Mysql通过端口登录
  4. JSON数据采集网关
  5. 解决VC2015包含stdint.h头文件冲突问题
  6. 最简单替换证件照背景色的方法
  7. edge播放视频HTML5黑屏,win10专业版系统edge浏览器看视频出现黑屏怎么办?
  8. C语言 一根长度为133m,(c语言)一根长度为133m的材料,需要截成长度为19m和23m的短料,求两种短料各截多少段时,剩余的材料多少...
  9. ipv6/ipv4双栈应用服务器开发细节
  10. 离子液体有哪些种类(咪唑类、吡啶类、季铵类、季鏻类、吡咯烷类、哌啶和功能化离子液体)