CentOS7 火焰图制作

本文介绍了在CentOS7上如何利用perf工具进行数据采样,记录调用栈,并生成on-CPU火焰图。首先,需要在目标二进制中禁用帧指针优化,然后安装perf。通过指定进程ID和采样频率收集数据,生成perf.data文件。接着,使用特定命令生成火焰图,可以通过调整参数定制图片宽度和调用栈高度。文章提供了参考链接以获取更多关于火焰图和perf的详细信息。
摘要由CSDN通过智能技术生成

on-cpu火焰图

准备

1. 首先目标二进制编译加参数 -fno-omit-frame-pointer

2. 安装perf:yum install -y perf

数据采样

perf record -F 99 -p PID -g -- sleep 60

perf record -g <binary>

-F 99: 每秒采样99次
-p PID: 指定进程id
-g: 记录调用栈
sleep 60: 持续60秒, 如果不加则一直采样到手动中断(CRTL+C)为止
上面的命令会生成一个perf.data的文件.

  • 执行perf report -n可以生成报告的预览
  • 执行perf report -n --stdio可以生成一个详细的报告
  • 执行perf script > out.perf可以 dump 出 perf.data 的内容

生成火焰图

通常的做法是将 out.perf 拷贝到本地机器在本地生成火焰图

复制

1
2
3
4
5
6
7
8
# 下载火焰图生成工程
git clone --depth 1 https://github.com/brendangregg/FlameGraph.git

# 折叠调用栈
FlameGraph/stackcollapse-perf.pl out.perf > out.folded

# 生成火焰图
Fla
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值