Perf工具的简单使用
- 安装
Ubuntu:apt install linux-tools-common linux-tool
Centos: yum install perf
关于显示包没有的情况,第一步可以检查自己的源repo是否正确,其次可以在pkgs.org上搜索包,点击对应包的具体名称(可能需要添加版本号之类,关于perf,有的发行是集成在linux tool,如ubuntu,有的发行版独立出一个包如centos)
- Perf 常用子命令
- perf list
能够查看到perf支持的性能采集事件
如cache-misses branch-misses等,方便在后续实际性能采集过程中使用
- perf trace
类似trace
- perf top
类似top的实时显示,但perf top粒度cpu或者程序(此处可观察热点函数,占比大的函数一般具有优化价值)
- perf stat
可以使用-e指定 perf list中支持的事件,采集一段时间内相关事件的参数,如优化的话可参考优化前后数据,比如cache-misses等指标(一般越小性能越好)
- perf record,perf report
此对命令一般成对使用
Perf record记录一段时间内的函数运行中采集到的数据保存到perf.data(默认, 参数可指定名字),采集数据的参数一般有-e(事件)-g(回溯)-F(采集频率,这个不同采集频率有不同影响,采集评率过高影响性能)
Perf report队perf record采集的数据进行分析,视图类似perf top
2.6 其它指令
Perf script,perf kvm等,笔者没有接触,使用可以使用perf -h查看perf子命令,然后使用perf 子命令 -h的方式查看使用方式