perf安裝
sudo apt install linux-tools-common
檢查是否安裝好
perf
如果出現斷斷幾行推薦安裝可以按照如下格式將推薦安裝包全部安裝好
sudo apt-get install linux-tools-4.15.0-106-generic linux-cloud-tools-4.15.0-106-generic linux-tools-generic linux-cloud-tools-generic
再次檢查是否安裝好
perf
出現如下用法提示就是安裝好了
usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]
perf使用
進入需要測試的代碼生成的文件的同一目錄下
1.perf record 採樣
sudo perf record -F 99 -a -g ./demo1
-F 99
表示採樣的頻率
-a
錄取所有CPU的事件
-g
使能函數調用圖功能
其他選項
-o 指定錄取保存數據的文件名
-g 使能函數調用圖功能
-C 錄取指定CPU的事件
2.perf report生成報告的預覽
sudo perf report
產生比較詳細的報告
sudo perf report -n --stdio
-p 指明進程的pid
sudo perf record -F 99 -p 4989 -g
畫火焰圖
git clone --depth 1 https://github.com/brendangregg/FlameGraph.git
到處out.perf 文件
sudo perf script > out.perf
摺疊調用棧
FlameGraph/stackcollapse-perf.pl out.perf > out.folded
生成火焰圖
FlameGraph/flamegraph.pl out.folded > out.svg