perf 脚本输出的含义是啥?

Posted

技术标签:

【中文标题】perf 脚本输出的含义是啥?【英文标题】:What is the meaning of perf script output?perf 脚本输出的含义是什么? 【发布时间】:2016-08-02 14:34:04 【问题描述】:

我使用 perf script 命令查看 perf.data 文件的结果,但我并不太明白每一列的含义。例如,如果我有以下结果:

perf  3198 [000] 13156.201238: bus-cycles:  ffffffff81086e90 resched_task

perf  3198 [000] 13156.201267: instructions:  ffffffff811868e9 do_vfs_ioctl

3198[000]13156.201238指的值是什么?

【问题讨论】:

你运行了什么命令来得到这个输出? 性能记录-a,后跟性能脚本 【参考方案1】:

它是从--fields 的默认列表输出的(-F 等效),它看起来像可用字段列表中的pidcputime。您可以使用

perf script -F pid,cpu,time

如果它在输出中具有相同的第一个字段。

如果没有,可能没有比从手册页尝试其他字段更好的方法了(没有好的文档)。

【讨论】:

有关字段的更多信息:“要打印的字段的逗号分隔列表。选项有:comm, tid, pid, time, cpu, event, trace, ip, sym, dso, addr, symoff, srcline, period. 字段列表可以在前面加上类型, trace, sw 或 hw, 以指示字段列表适用于哪个事件类型. 例如, -f sw:comm,tid,time,ip,sym 和 -f trace:时间,CPU,跟踪“检查这个:systutorials.com/docs/linux/man/1-perf-script

以上是关于perf 脚本输出的含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 KchacheGrind 分析的 cProfile 输出中 <cycle 5> 函数的含义是啥?

性能:性能统计输出中的 [<n percent>] 记录是啥意思?

perf annotate 并不总是给出输出

理解 perf stat 输出中的数字

weka的explorer运行j48算法后,输出如下类容,各是啥含义?

dtrace 脚本输出是啥意思?