异想天开

What's the true meaning of light, Could you tell me why

perf命令

日期:2014-11-24 18:58:36
  
最后更新日期:2017-06-18 06:55:39
【技术文章】
老鸟总能做到淡定,不慌不乱。
一.原理
perf命令,linux下性能分析工具。原理为:
1.基于时间点的采样-每隔一定时间间隔中断程序执行,查看rip(程序计数器)执行到什么位置,如果一个函数执行时间占用整个程序的执行时间的90%,那么90%的采样点落在该函数内。
2.基于事件的采样,当发生满足条件的时间,则计数器加一。

二.使用
1.类似top命令实时查看
perf top
2.实时统计分析
perf stat -p #pid sleep 6
表示查看进程号为pid的进程,6秒内的性能统计。包括上下文切换次数,分支预测失败次数。
3.record/report分析
perf record -p #pid sleep 6
表示记录进程号为pid的进程,6秒内的性能事件,执行该命令后,会产生perf.data文件。
perf report
查看当前目录下的perf.data,即刚才perf record产生的文件。
当然,也可以静态启动可执行文件分析性能。

参考:
1.stalled-cycles-frontend-and-stalled-cycles-backend 表示什么意思
2.用法