日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

perf + 火焰图分析程序性能

發(fā)布時(shí)間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 perf + 火焰图分析程序性能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

From:?https://www.cnblogs.com/happyliu/p/6142929.html

1、perf命令簡要介紹

性能調(diào)優(yōu)時(shí),我們通常需要分析查找到程序百分比高的熱點(diǎn)代碼片段,這便需要使用 perf record 記錄單個(gè)函數(shù)級(jí)別的統(tǒng)計(jì)信息,并使用 perf report 來顯示統(tǒng)計(jì)結(jié)果;

perf record

perf report

舉例:

sudo perf record -e cpu-clock -g -p 2548

-g 選項(xiàng)是告訴perf record額外記錄函數(shù)的調(diào)用關(guān)系

-e cpu-clock 指perf record監(jiān)控的指標(biāo)為cpu周期

-p 指定需要record的進(jìn)程pid

?

程序運(yùn)行完之后,perf record會(huì)生成一個(gè)名為perf.data的文件,如果之前已有,那么之前的perf.data文件會(huì)被覆蓋

獲得這個(gè)perf.data文件之后,就需要perf report工具進(jìn)行查看

perf report?-i?perf.data

-i 指定要查看的文件

?以診斷mysql為例,report結(jié)果:

$sudo perf report ?-i?perf.data

?

這種格式很不直觀

?2、使用火焰圖展示結(jié)果

1、Flame Graph項(xiàng)目位于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結(jié)束執(zhí)行后,在當(dāng)前目錄下會(huì)生成采樣數(shù)據(jù)perf.data.

2、第二步

用perf script工具對(duì)perf.data進(jìn)行解析

perf script -i perf.data > perf.unfold

3、第三步

將perf.unfold中的符號(hào)進(jìn)行折疊:

#./stackcollapse-perf.pl perf.unfold > perf.folded

4、最后生成svg圖:

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

?

總結(jié)

以上是生活随笔為你收集整理的perf + 火焰图分析程序性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。