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