1. 程式人生 > >火焰圖分析CPU性能問題

火焰圖分析CPU性能問題

.cn .data ack info 剛才 消耗cpu ref scrip 函數

1、找出應用程序或內核消耗CPU的PID

技術分享圖片

2、執行perf record 命令,記錄該PID的行為

perf record -a -g -p 14851 -- sleep 30  --30秒後退出

技術分享圖片

3、稍等一會兒,在上述命令結束後,會在當前目錄生成perf.data文件。繼續執行perf report命令,你就可以得到 perf 的匯總報告。按上下方向鍵以及回車鍵,展開比例最高的 函數後,你就可以得到下面這個調用關系鏈圖:

技術分享圖片

4、火焰圖分析

首先,我們需要生成火焰圖。我們先下載幾個能從 perf record 記錄生成火焰圖的工具:

下載地址:https://files.cnblogs.com/files/xiaoxitest/FlameGraph-master.zip

或者:git clone https://github.com/brendangregg/FlameGraph

cd FlameGraph/

安裝好工具後,要生成火焰圖,假設剛才用 perf record 生成的文件路徑為 /root/perf.data,執行下面的命令,你就可以直接生成火焰圖:

perf script -i /root/perf.data | ./stackcollapse-perf.pl --all | ./flamegraph.pl > ksoftirqd.svg

技術分享圖片

執行成功後,使用瀏覽器打開 ksoftirqd.svg ,你就可以看到生成的火焰圖了。如下圖所示:

技術分享圖片

火焰圖分析CPU性能問題