searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

火焰图收据收集

2024-10-10 02:07:00
15
0

使用火焰图分析进程性能流程:

在我们遇到spdk性能问题的时候需要通过perf工具分析具体函数调用信息。

通过命令:perf top -p pid

这个图片能看到热点函数,但是具体的调用信息无法展示。

我们通过火焰图的方式来查看具体的热点调用信息。

 

 

火焰图生成:

1. /usr/bin/perf record -F 99 -g -p pid

perf record表示采集系统事件, 没有使用 -e 指定采集事件, 则默认采集 cycles(即 CPU clock 周期)

-F 99 表示每秒 99 次

-p pid是进程号, 即对哪个进程进行分析

-g 表示记录调用栈

sleep 30 则是持续 30 秒,不加则需要手动停止

默认生成文件名称perf.data

 

根据记录的数据生成火焰图的过程:

# 解析perf收集的信息

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

# 生成折叠后的调用栈

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

# 生成火焰图

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

 

stackcollapse-perf.plflamegraph.pl工具需要从github上下载,

仓库信息大家可以从github上搜索flamegraph仓库下载

 

perf.svg展示信息:

 

 

 

 

 

 

 

 

0条评论
0 / 1000
j****n
3文章数
0粉丝数
j****n
3 文章 | 0 粉丝
j****n
3文章数
0粉丝数
j****n
3 文章 | 0 粉丝
原创

火焰图收据收集

2024-10-10 02:07:00
15
0

使用火焰图分析进程性能流程:

在我们遇到spdk性能问题的时候需要通过perf工具分析具体函数调用信息。

通过命令:perf top -p pid

这个图片能看到热点函数,但是具体的调用信息无法展示。

我们通过火焰图的方式来查看具体的热点调用信息。

 

 

火焰图生成:

1. /usr/bin/perf record -F 99 -g -p pid

perf record表示采集系统事件, 没有使用 -e 指定采集事件, 则默认采集 cycles(即 CPU clock 周期)

-F 99 表示每秒 99 次

-p pid是进程号, 即对哪个进程进行分析

-g 表示记录调用栈

sleep 30 则是持续 30 秒,不加则需要手动停止

默认生成文件名称perf.data

 

根据记录的数据生成火焰图的过程:

# 解析perf收集的信息

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

# 生成折叠后的调用栈

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

# 生成火焰图

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

 

stackcollapse-perf.plflamegraph.pl工具需要从github上下载,

仓库信息大家可以从github上搜索flamegraph仓库下载

 

perf.svg展示信息:

 

 

 

 

 

 

 

 

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0