Oracle® Solaris Studio 12.4:性能分析器

退出打印视图

更新时间: 2015 年 1 月
 
 

数据收集子命令

以下子命令可与 dbx 中的 collector 命令一起使用,对收集器收集的数据的类型进行控制。如果实验处于活动状态,则这些子命令将被忽略并显示一条警告。

profile option

控制对时钟分析数据的收集。 option 的允许值包括:

  • on-启用缺省分析间隔为 10 毫秒的时钟分析。

  • off-禁用时钟分析。

  • timer interval-设置分析间隔。 interval 的允许值包括:

    • on-使用大约为 10 毫秒的缺省分析间隔。

    • lo[w]-使用大约为 100 毫秒的低精度分析间隔。

    • hi[gh]-使用大约为 1 毫秒的高精度分析间隔。有关启用高精度分析的信息,请参见时钟分析的限制

    • value-将分析间隔设置为 value value 的缺省单位为毫秒。可以将 value 指定为整数或浮点数。可以选择在数值后加后缀 m 来选择毫秒单位或者加 u 来选择微秒单位。该值应当是时钟精度的倍数。如果该值大于时钟精度但不是其倍数,则向下舍入。如果该值小于时钟精度,则将其设置为时钟精度。在以上两种情况下均输出警告消息。

      缺省设置大约为 10 毫秒。

      缺省情况下收集器收集时钟分析数据,除非使用 hwprofile 子命令打开对硬件计数器分析数据的收集。

hwprofile option

控制对硬件计数器分析数据的收集。 如果您尝试在不支持硬件计数器分析的系统中启用它,则 dbx 会返回一条警告消息,而且该命令将被忽略。option 的允许值包括:

  • on-打开硬件计数器分析。缺省操作是收集具有正常溢出值的 cycles 计数器的数据。

  • off-关闭硬件计数器分析。

  • list-返回可用计数器的列表。 有关对该列表的描述,请参见硬件计数器列表。如果系统不支持硬件计数器分析,则 dbx 会返回一条警告消息。

  • counter counter-definition... [, counter-definition ]-计数器定义采用以下格式。

    [+]counter-name[~ attribute_1=value_1]...[~attribute_n =value_n][/ register-number][,interval ]

    选择硬件计数器 name,并将其溢出值设置为 interval;也可以选择其他硬件计数器名称并将其溢出值设置为指定的间隔。 溢出值可以为下列值之一:

    • on 或空字符串-缺省溢出值,可以通过键入不带其他参数的 collect -h 来确定。

    • hi[gh]-所选计数器的高精度值,大约比缺省溢出值短十倍。之所以还支持缩写 h,是为了与以前的软件发行版兼容。

    • lo[w]-所选计数器的低精度值,大约比缺省溢出值长十倍。

    • interval-特定的溢出值,必须是正整数,可以采用十进制格式,也可以采用十六进制格式。

      如果指定了多个计数器,则各计数器必须使用不同的寄存器。否则,将输出一条警告消息,而且该命令将被忽略。

      如果硬件计数器对其计数的事件与内存访问有关,则可以在计数器名称前放置 + 符号,以便对导致计数器溢出的指令的真实 PC 进行搜索。如果搜索成功,则 PC 和所引用的有效地址将被存储在事件数据包中。

      缺省情况下,收集器不收集硬件计数器分析数据。如果硬件计数器分析处于启用状态,而且尚未发出 profile 命令,则时钟分析将处于关闭状态。

      另请参见硬件计数器分析的限制

synctrace option

控制对同步等待跟踪数据的收集。 option 的允许值包括:

  • on-启用具有缺省阈值的同步等待跟踪。

  • off-禁用同步等待跟踪。

  • threshold value-为最小同步延迟设置阈值。 value 的允许值包括:

    • all-使用零阈值。该选项强制记录所有同步事件。

    • calibrate-在运行时通过校准来设置阈值。(与 on 等效。)

    • off-关闭同步等待跟踪。

    • on-使用缺省阈值,这将在运行时通过校准来设置阈值。(与 calibrate 等效。)

    • number-将阈值设置为 number,该值以正整数形式提供,单位为微妙。 如果 value 为 0,则跟踪所有事件。

      缺省情况下,收集器不收集同步等待跟踪数据。

heaptrace option

控制对堆跟踪数据的收集。 option 的允许值包括:

  • on-启用堆跟踪。

  • off-禁用堆跟踪。

缺省情况下,收集器不收集堆跟踪数据。

tha option

为线程分析器收集数据争用检测或死锁检测数据。允许的值包括:

  • off-关闭线程分析器数据收集。

  • all-收集所有线程分析器数据。

  • race-收集数据争用检测数据。

  • deadlock-收集死锁和潜在死锁数据。

有关线程分析器的更多信息,请参见Oracle Solaris Studio 12.4:线程分析器用户指南 tha.1 手册页。

sample option

控制抽样模式。 option 的允许值包括:

  • periodic-启用定期抽样。

  • manual-禁用定期抽样。手动抽样仍保持启用状态。

  • period value-将抽样间隔设置为 value,以秒为单位。

缺省情况下,启用抽样间隔 value 为 1 秒的定期抽样。

dbxsample { on | off }

控制当 dbx 停止目标进程时对抽样的记录。 关键字的含义如下所示:

  • on-在 dbx 每次停止目标进程时记录抽样。

  • off-在 dbx 停止目标进程时不记录抽样。

缺省情况下,在 dbx 停止目标进程时记录抽样。