当 运行 使用 -r 和 -x 时,perf-stat 中的列是什么

What are the columns in perf-stat when run with -r and -x

我正在尝试解释程序中 perf-stat 运行 的结果。我知道它是 运行 与 -r 30 和 -x。从 https://perf.wiki.kernel.org/index.php/Tutorial 说如果 运行 和 -r 将报告 stddev 但我不确定这些列中的哪一个并且我在 [=19 时无法找到有关输出的信息=] 与 -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

我的猜测是 % 列是标准偏差占第一列的百分比,但我不确定。

总而言之,我的问题是这些列代表什么?哪一列是标准差?

你们很亲近。这里有一些空白。

  1. 测量值的算术平均值。
  2. 已知单位。例如。在我的系统上它显示 'msec' for 'cpu-clock'.
  3. 活动名称
  4. 标准偏差缩放到 100% = 平均值
  5. 计算此事件的实际时间 运行
  6. 此事件实际 运行 启用时间的比例(单位为 %)

最后两个与多路复用相关:如果选择的计数器多于可以同时记录的计数器,则表示的百分比将降至 100 以下。

在我的系统上(Linux 5.0.5,不确定何时可用),还有一个 shadow stat 用于计算派生的某些指标公制。例如,cpu-clock 将计算 CPUs utilizedbranch-misses 计算遗漏的分数 of all branches

  1. 暗影属性值
  2. 影子统计描述

请注意,此格式随其他一些选项而变化。例如,如果您显示具有更细粒度分组的指标(例如,根据 cpu),有关这些组的信息将添加到其他列中。