硬件计数器数据

另请参见

为何收集硬件计数器数据?

硬件计数器数据可告诉您有关选定处理器事件的频率。它可用于诊断其它事件中的数据流和指令延迟问题。

收集器如何收集硬件计数器数据?

硬件计数器统计每个 LWP 的事件数量。在特定 LWP 的计数达到上溢值时会发出信号,计数器将重置,然后计数重新开始。在收集器截取信号时,它会记录计数器 ID、上溢值、时间戳和调用栈,以及 LWP ID、线程 ID 和处理器 ID。此进程称为硬件计数器上溢分析。上溢将被性能分析器归于记录上溢时要执行的下一指令中。因此派生的计数数据也实际上加以统计。

可以统计哪些类型的硬件事件?

可以计数的事件类型取决于特定处理器和操作环境。以下是一些常见事件的标准列表:

要显示可用计数器的列表,请选择以下方法之一:

一些常用计数器具有别名,别名在列表的开始显示。有关列表格式的信息,参见硬件计数器列表。下表列出具有别名的 UltraSPARCTM III 硬件计数器,同时列出它们的度量名称和用于计数的寄存器。

计数器名称 别名 度量 寄存器
Cycle_cnt cycles CPU 周期 0 或 1
Instr_cnt insts 执行的指令 0 或 1
IC_miss icm I$ 未命中 1
DC_rd_miss dcrm D$ 读未命中 1
DC_wr_miss dcwm D$ 写未命中 1
DC_rd dcr D$ 读引用 0
DC_wr dcw D$ 写引用 0
EC_ref ecref E$ 引用 0
ITLB_miss itlbm ITLB 未命中 1
DTLB_miss dtlbm DTLB 未命中 1
EC_misses ecm E$ 未命中 1
EC_rd_miss ecrm E$ 读未命中 0
EC_ic_miss ecim E$ 指令未命中 1
Dispatch0_IC_miss icstall I$ 延迟周期 0
Re_DC_miss dcstall D$ 和 E$ 延迟周期 1
Re_EC_miss ecstall E$ 延迟周期 1
Rstall_storeQ sqstall StoreQ 延迟周期 0
FA_pipe_completion fpadd FP 加 0
FM_pipe_completion fpmul FP 乘 1

在性能分析器中可以看到哪些硬件计数器度量?

硬件计数器上溢分析数据将通过求和上溢值而被转换为计数度量。对于循环计数的计数器,使用程序运行时所在机器中的所有 CPU 的平均时钟频率将计数度量转换为时间。度量名称是 cputrack(1) 使用的计数器名称。有别名的计数器名称具有相应的度量名称。对于 UltraSPARC III 硬件,度量名称已在上表中列出。

硬件计数器数据收集的限制是什么?

有关详细信息,参见《程序性能分析工具》手册

另请参见
收集性能数据
在正运行的进程上收集性能数据
硬件计数器的使用程序

找到要找的内容了吗?如未找到,请将您的意见通过电子邮件发送至 docfeedback@sun.com。
法律声明