perf工具使用統計函式呼叫

2021-09-19 03:14:36 字數 1278 閱讀 1303

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結果:

這種格式很不直觀

2、使用火焰圖展示結果

1、flame graph專案位於github上:

2、可以用git將其clone下來:git clone .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圖:

perf檢視函式呼叫

前一段使用perf檢視程式的熱點以及函式呼叫,一直看不到熱點函式的函式呼叫,很是奇怪,在網上問別人,別人都說沒問題,一度很是迷惑。後來又試了一下,結果就出現了,很是神奇。使用方法很簡單,就是perf record加上 g選項。另外,perf top也可以檢視程式的熱點,選項是 g。上圖一張,就是以前...

perf工具的使用

監控 測試 優化perf 火焰圖分析程式效能 1 perf命令簡要介紹 效能調優時,我們通常需要分析查詢到程式百分比高的熱點 片段,這便需要使用 perf record 記錄單個函式級別的統計資訊,並使用 perf report 來顯示統計結果 perf record perf report 舉例 ...

系統級效能分析工具perf的介紹與使用

perf help之後可以看到perf的二級命令。序號命令作用1 annotate 解析perf record生成的perf.data檔案,顯示被注釋的 2archive 根據資料檔案記錄的build id,將所有被取樣到的elf檔案打包。利用此壓縮包,可以再任何機器上分析資料檔案中記錄的取樣資料。...