我试图解释在程序上运行的perf-stat的结果。我知道它与-r 30和-x一起运行。从https://perf.wiki.kernel.org/index.php/Tutorial说,如果使用-r运行,将报告stddev,但是我不确定是哪几列,并且使用-x运行时,我在查找输出信息时遇到了麻烦。我收到的输出的一个示例是
19987,,cache-references,0.49%,562360,100.00
256,,cache-misses,10.65%,562360,100.00
541747,,branches,0.07%,562360,100.00
7098,,branch-misses,0.78%,562360,100.00
60,,page-faults,0.43%,560411,100.00
0.560244,,cpu-clock,0.28%,560411,100.00
0.560412,,task-clock,0.28%,560411,100.00
我的猜测是,%列是标准偏差(占第一列的百分比),但我不确定。
总的来说,我的问题是这些列代表什么?标准偏差在哪一列?
答案 0 :(得分:4)
您非常亲密。这是一些空白。
最后两个与多路复用有关:如果选择的计数器多于可同时记录的数量,则表示的百分比将降至100以下。
在我的系统上(Linux 5.0.5,不确定,因为何时可用),对于一些计算派生指标的指标也有一个 shadow stat 。例如,cpu-clock
将计算CPUs utilized
或branch-misses
计算丢失的分数of all branches
。
请注意,此格式会随其他选项一起更改。例如,如果您以更精细的粒度分组(例如,每个CPU)显示指标,则有关这些分组的信息将附加在其他列中。