带有perf的CPU外火焰图:输出字段的类型应该是什么?

时间:2017-05-13 23:38:43

标签: performance profiling perf flamegraph

我一直关注these instructions为我的代码生成一个关闭CPU的火焰图。但是,当我进入这一步时:

perf script -f comm,pid,tid,cpu,time,period,event,ip,sym,dso,trace

我收到以下错误:

Invalid field requested.

 Usage: perf script [<options>]
    or: perf script [<options>] record <script> [<record-options>] <command>
    or: perf script [<options>] report <script> [script-args]
    or: perf script [<options>] <script> [<record-options>] <command>
    or: perf script [<options>] <top-script> [script-args]

    -F, --fields <str>    comma separated output fields prepend with 'type:'. Valid types: hw,sw,trace,raw. Fields: comm,tid,pid,time,cpu,event,trace,ip,sym,dso,addr,symoff,period,iregs,brstack,brstacksym,flags,bpf-output,callindent,insn,insnlen

据我所知,每个输出字段都需要一个类型,但我不确定应该提供哪种类型。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

更新:在更新的内核上,使用“perf script -F ...”而不是“perf script -f ...”。您的内核还需要CONFIG_SCHEDSTATS才能将跟踪点全部存在,这可能会丢失(例如,RHEL7)。

注意,在绘制off-cpu火焰图之前,请将/ proc / sys / kernel / sched_schedstats设置为1。