错误数据

本主题将列出一些具体情况,在这些情况下实验具有错误数据或者性能分析器显示看似不正确的数据。

将 dbx 附加到进程中时出现的错误硬件计数器数据

如果在未预先载入收集器库的情况下,将 dbx 附加到正使用硬件计数器库 libcpc.so 的进程中,并在随后启用硬件计数器数据的收集,则实验将被破坏。收集器对硬件计数器库的使用与程序对硬件计数器库的使用相冲突。如果 libcpc.so 是在将 dbx 附加到进程并且启用了硬件计数器上溢分析之后载入的,则当使用广义搜索解析 libcpc.so 中对函数的引用时,就可以正确记录实验。在此情况下,收集器库中的包装例程将用于解析引用,并且禁止程序使用硬件计数器函数。

摘要标签中不正确的等待 CPU 时间度量

“等待 CPU”时间的不正确值有时在抽样包和全局统计中进行记录。这些值会出现在性能分析器的 [统计] 标签中,并将影响 [时间线] 标签中抽样的显示。此问题尚未得到解决。

用户 CPU 时间显得太小

如果在系统承受负载时,在程序上收集基于时钟的分析数据,则少计的“用户 CPU”时间最多可达 20%。缺少的“用户 CPU”时间显示为“系统 CPU”时间或“等待 CPU”时间。解决方法是在系统未承受负载时收集数据(若有可能)。

带注释源代码行中的零度量

如果动态编译函数,并且使用收集器 API 将函数的有关信息提供给抽样收集器,则可以看到带注释的源代码。但是,您只能看到所选函数的非零度量。源文件中的其它所有函数均显示零度量。这并不表示没有为这些源代码行记录任何度量,而是表示这些值不可用。

<Total> 的时间与统计标签中的时间不匹配

[统计] 标签中显示的时间值包括的影响因素不同于 <Total> 的计时度量值中所包括的影响因素。这些影响因素是由下列缘由所引起的:

OpenMP 并行化指令时间显得太大

在 OpenMP 并行化指令的源代码行中报告的相容时间被错误地进行了重复计数。对于概括到主体函数内的代码,其源代码行上所报告的时间是正确的。因此,针对一些函数报告的时间也不正确。


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