[转帖]linux 性能分析工具 perf + FlameGraph

linux,性能,分析,工具,perf,flamegraph · 浏览次数 : 0

小编点评

**常用命令:** * **perf:** 监控程序的性能。 * **record:** 记录性能数据。 * **-e:** 指定要监控的指标。 * **-g:** 显示图表。 * **-p:** 指定需要记录的进程 ID。 * **sleep:** 等待程序运行完成。 * **10perf:** 运行 10 个性能测试。 * **script:** 在程序运行结束后执行的脚本。 * **-i:** 指定要查看的文件。 * **-o:** 指定输出文件的名称。 **附录:** * **flamegraph** 是一个用于分析性能数据的工具。 * **git** 是一个版本控制工具。

正文

https://www.cnblogs.com/lausaa/p/12098716.html

 

常用命令:

perf  record  -e  cpu-clock  -g  -p  $pid  sleep  10

perf  script  -i  perf.data  >  perf.unfold

/FlameGraph-master/stackcollapse-perf.pl  perf.unfold  >  perf.folded

/FlameGraph-master/flamegraph.pl  perf.folded  >  perf.svg

 

然后用浏览器打开perf.svg 文件即可。

 

=========================================================

另附一篇转载,自:https://www.cnblogs.com/happyliu/p/6142929.html

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、使用火焰图展示结果

1、Flame Graph项目位于GitHub上:https://github.com/brendangregg/FlameGraph

2、可以用git将其clone下来:git clone https://github.com/brendangregg/FlameGraph.git

 

我们以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

 

与[转帖]linux 性能分析工具 perf + FlameGraph相似的内容:

[转帖]linux 性能分析工具 perf + FlameGraph

https://www.cnblogs.com/lausaa/p/12098716.html 常用命令: perf record -e cpu-clock -g -p $pid sleep 10 perf script -i perf.data > perf.unfold /FlameGraph-m

[转帖]linux 系统级性能分析工具 perf 的介绍与使用

目录 1. 背景知识 1.1 tracepoints 1.2 硬件特性之cache 2. 主要关注点 3. perf的使用 3.0 perf引入的overhead 3.1 perf list 3.2 perf top 3.3 perf stat 3.4 perf bench 3.4.1 perf b

[转帖]perf学习-linux自带性能分析工具

目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里。 方便自己查看。 什么是perf? linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的Linux内核里,安装perf非常的容易。 几乎能够处理所有与性能相关的事件。

[转帖]perf学习-linux自带性能分析工具

目前在做性能分析的事情,之前没怎么接触perf,找了几篇文章梳理了一下,按照问题的形式记录在这里。 方便自己查看。 什么是perf? linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的Linux内核里,安装perf非常的容易。 几乎能够处理所有与性能相关的事件。

[转帖]perf学习-linux自带性能分析工具

存储技术为满足层出不穷应用的海量数据存储需求,从物理介质到技术架构也同样发生了天翻地覆的变革。无论技术如何更新换代,其目的都是为了更好的提供高性能,高容量,高可用的数据服务。本系列文章会对存储系统的测试和调试工具做一个介绍。 dd - Linux世界中的搬运工 FIO – IO压力测试工具 vdbe

[转帖] Linux命令拾遗-剖析工具

https://www.cnblogs.com/codelogs/p/16060472.html 简介# 这是Linux命令拾遗系列的第五篇,本篇主要介绍Linux中常用的线程与内存剖析工具,以及更高级的perf性能分析工具等。 本系列文章索引Linux命令拾遗-入门篇Linux命令拾遗-文本处理篇

[转帖]Linux性能优化(十)——CPU性能分析工具

Linux性能优化(十)——CPU性能分析工具 https://blog.51cto.com/u_9291927/2594169 一、CPU性能指标 1、CPU使用率 CPU使用率是最常见的一个性能指标,描述了非空闲时间占总CPU 时间的百分比,根据CPU上运行任务的不同,分为用户CPU、系统CPU

[转帖]Linux性能优化(五)——性能监控工具

原文 https://blog.51cto.com/9291927/2594065 1、性能分析工具简介 Brendan Gregg是算机性能设计、分析和调优专家,编写开源大量性能测试工具。http://www.brendangregg.comnode 一、性能分析工具 二、性能观测工具 三、性能测

[转帖]Linux性能调优工具-9张图-包你用到爽!抓紧收藏吧

这里包含Linux 性能资料的工具图。这些使用大字体可以用作海报幻灯片。也可以将它们打印出来贴在办公室墙上。它们展示了:Linux 可观察性工具、 Linux 静态性能分析工具、 Linux 基准测试工具、 Linux 调优工具和Linux sar。 性能观察工具: 静态性能工具 性能压测工具: 性

[转帖]《Linux性能优化实战》笔记(20)—— 使用 tcpdump 和 Wireshark 分析网络流量

tcpdump 和 Wireshark 是最常用的网络抓包和分析工具,更是分析网络性能必不可少的利器。 tcpdump 仅支持命令行格式使用,常用在服务器中抓取和分析网络包。Wireshark 除了可以抓包,还提供了强大的图形界面和汇总分析工具,在分析复杂的网络情景时,尤为简单和实用。因而,在实际分