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 ,你就可以看到生成的火焰圖了。如下圖所示: