perf的一些小技巧

只显示gallery相关的perf record信息,对于无法确定pid,运行时间很短的程序,在用record -a采集以后,需要做分离工作才能分析数据。

perf report -i data/perf.data -g fractal -d gallery

‘‐‐comms’ <comm[,comm…]> 

  仅显示属于进程“comm”的符号。 

参数‐G具有 3个配置选项 output_type,min_percent与 call_order。选项

output_type 允许用户指定调用图谱的显示方式。Perf提供了 3种显示方式:

 1) graph:  使用调用树,将每条调用路径进一步折叠。这种显示方式更加直观。

每条调用路径的采样率为绝对值。也就是该条路径占整个采样域的比率。

2) fractal 

默认选项。类似与 graph,但是每条路径前的采样率为相对值。

3) flat 

不折叠各条调用路径,也不显示每条调用路径的采样率。

我们还可以通过min_percent选项过滤采样率低于min_percent的调用路径。

min_percent的默认值为 0.5。 

选项 call_order 用以设定调用图谱的显示顺序,该选项有 2个取值,分别是

callee 与caller。将该选项设为callee 时,perf按照被调用的顺序显示调用图谱,

上层函数被下层函数所调用,如图*所示。该选项被设为caller 时,按照调用顺

序显示调用图谱,即上层函数调用了下层函数。执行如下命令后,可以得到 caller

风格的调用图谱,

淘宝的内核组已经做过一次类似的工作了,直接看文档吧。

http://kernel.taobao.org/images/b/bb/Linux的系统级性能剖析工具-perf-1.pdf

http://kernel.taobao.org/images/3/31/Linux的系统级性能剖析工具-perf-2.pdf

http://kernel.taobao.org/images/e/e4/Linux的系统级性能剖析工具-perf-3.pdf



IBM的文档,实际上是EMC公司的人发的。

http://www.ibm.com/developerworks/cn/linux/l-cn-perf2/

你可能感兴趣的:(kernel,perf)