Linux火焰图

关注火焰图非常长的时间了!~~一直未能自己做个火焰图出来。今天小试一把。

ubuntu18.04

ssh登陆之后执行命令

安装软件

apt-get install -y linux-cloud-tools-generic linux-tools-generic

访问https://github.com/brendangregg/FlameGraph

download zip然后解压完传到ubuntu18.04的/root/

然后找个程序执行(我拿iperf用来做性能测试的对象,你可以用dd或者ping命令测试下)

ps -ef | grep iperf

看到进程为18061

然后执行

perf record -F 99 -p 18061 -g -- sleep 30

上面命令的参数为监控频率为1秒钟监控99次,监控进程为18061,监控时长为30秒

#  report是文本显示例子,看细节挺方便

perf report -n --stdio

#  perf script一条条打印perf.data内的数据,输出的是perf record收集到的原始数据。

perf script -i perf.data &> perf.unfold
/root/flamegraph-master/stackcollapse-perf.pl perf.unfold &> perf.folded
/root/flamegraph-master/flamegraph.pl perf.folded > perf.svg
perf script | /root/flamegraph-master/stackcollapse-perf.pl | /root/flamegraph-master/flamegraph.pl >process.svg

然后把svg复制到你的电脑用浏览器打开看下吧!

我的是这个样子的

可以看到copy_user_generic_string和finish_task_switch是平顶山,找到问题原因了,解决问题那就是另外一回事了!

更详细的中文参考http://www.qingpingshan.com/pc/fwq/172560.html

这么好的文章浏览量居然之后203!!!!

还有一个linux performance大神的网站http://www.brendangregg.com,基本上google上搜索到的linux性能优化的文章、视频都引用了他的软件或者图片。

原文地址:https://www.cnblogs.com/tcicy/p/10023554.html

时间: 2024-10-07 19:44:10

Linux火焰图的相关文章

使用linux perf工具生成java程序火焰图

pre.cjk { font-family: "Nimbus Mono L", monospace } p { margin-bottom: 0.1in; line-height: 120% } a:link { } 重要参考文献:www.brendangregg.com/blog/2017-06-30/package-flame-graph.html Java FlameGraph(火焰图)能够非常直观的展示java程序的性能分析结果,方便发现程序热点和进一步调优.本文将展示如何使用

linux性能分析工具之火焰图

一.环境 1.1 [email protected]:~$ uname -a Linux jello 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 1.2 [email protected]:~$ lsb_release -a Distributor ID: UbuntuDescription: Ubuntu 16.04.3 LTSRelease: 16.0

Linux程序性能分析和火焰图

Linux程序性能分析和火焰图 Linux程序的性能分析工具数量比较多,涉及到整个操作系统的方方面面,可能是开源的原因吧,相对于Windows来说丰富太多.其中应用分析性能方面Dtrace, SystemTap, Perf_events应该算是这方面的集大成者.Dtrace目前只在较高的内核版本有支持,记得是4.8以后, SystemTap则是需要在Red Hat的官方网站下载OS版本对应的调试符号和对应的调试版本内核,配置起来需要花费一定的时间,只有Perf_events使用起来比较方面,但是

转发 Java火焰图在Netflix的实践

为了分析不同软件或软件的不同版本使用CPU的情况,相关设计人员通常需要进行函数的堆栈性能分析.相比于定期采样获得数据的方式,利用定时中断来收集程序运行时的PC寄存器值.函数地址以及整个堆栈轨迹更加高效.目前,OProfile.gprof和SystemTap等工具都是采用该方法,给出详细的CPU使用情况报告.然而,这些工具在处理复杂的统计数据时,给出的报告往往过于繁杂.不够直观.不能直接反应分析员所需要的数据.为此,Brendan Gregg开发了专门把采样到的堆栈轨迹(Stack Trace)转

动态追踪技术(中) - Dtrace、SystemTap、火焰图

http://openresty.org/cn/presentations.html http://weibo.com/agentzh?is_all=1 http://openresty.org/posts/dynamic-tracing/ 动态追踪技术(中) - Dtrace.SystemTap.火焰图 原创 2016-05-06 章亦春 MacTalk 动态追踪技术中篇,关于 DTrace.SystemTap 和 火焰图的那点事. DTrace 与 SystemTap 说到动态追踪就不能不提

[转]perf + 火焰图分析程序性能

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 指定需要reco

pg_flame postgresql EXPLAIN ANALYZE 火焰图工具

pg_flame 是golang 编写的一个将pg的EXPLAIN ANALYZE 转换为火焰图,使用简单 以下是一个简单的demo 环境准备 docker-compose 文件 version: "3" services: postgres: image: postgres:9.6.11 ports: - "5432:5432" environment: - "POSTGRES_PASSWORD:dalong" 源码编译 clone 代码 gi

火焰图分析openresty性能瓶颈

注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包,然后解压../configure; make; make install 安装到目标主机:执行命令 stap -ve 'probe begin { log("hello systemtap!") exit() }' 如果提示pass 5: run completed ... 就表示安装成

使用perf + FlameGraph生成进程火焰图

FlameGraph代码:https://github.com/cobblau/FlameGraph 使用方法 1,perf record --call-graph dwarf -p 12345 2,perf script | FlameGraph/stackcollapse-perf.pl | FlameGraph/flamegraph.pl > process.svg 使用其他工具如何生成火焰图的方法在FlameGraph的Readme只有详细的介绍