手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

ttrace(1M)

名称

ttrace - 管理来自虚拟机管理程序层的陷阱跟踪

用法概要

ttrace
ttrace config -H
ttrace config -H [
-b bufsz [k | m] ]
ttrace enable -H
ttrace enable -H [
-p processor_id ...]
ttrace disable -H
ttrace disable -H [
-p processor_id ...]
ttrace suspend -H
ttrace resume -H
ttrace dump -H [
-t] [-o output] [-p 
processor_id ...]

描述

ttrace 实用程序用于管理虚拟机管理程序级别的陷阱跟踪。特权用户可以按需动态启用和禁用跟踪,并根据需要对跟踪进行配置。

不带参数的 ttrace 将显示使用信息。

选项

支持以下选项:

–H

在 sun4v 平台上对虚拟机管理程序陷阱跟踪应用此命令。

–b bufsz [k | m]

为系统中的所有 CPU 设置跟踪缓冲区大小 bufsz。缓冲区大小 bufsz 可以包括后缀 km。缺省情况下,bufsz2 * PAGESIZE。如果已分配所需大小的缓冲区,则还会对陷阱跟踪进行重新配置,从而用新缓冲区替换旧缓冲区。HV 跟踪缓冲区的上限大小为 16M。

但是,如果由于内存不足而无法分配所需的缓冲区,ttrace 将继续使用先前分配的缓冲区。因此,特定 CPU 上的实际 bufsz 可能与全局 bufsz 不同。

重新配置陷阱跟踪的开销很大,因此不建议在生产计算机上过于频繁地使用此选项。

–p processor_id processor_id ...

列出应用相应操作的 CPU。可以接受此选项的子命令为 enabledisabledump

–o output

设置转储跟踪记录时的输出文件。如果省略此选项,则缺省输出为 stdout

–t

按时间戳顺序遍历所有 CPU 上的跟踪记录。如果省略此选项,则会首先按 CPU 遍历跟踪记录。

子命令

支持以下子命令:

enable

对一系列 CPU 启用陷阱跟踪。如果未通过 –p 选项指定 CPU,则会对所有 CPU 启用跟踪。

disable

对一系列 CPU 禁用陷阱跟踪。如果未通过 –p 选项指定 CPU,则会对所有 CPU 禁用跟踪。

suspend

暂停对所有 CPU 的陷阱跟踪。可以暂停禁用了跟踪的 CPU;而在恢复后,它仍会处于禁用状态。子命令 suspendresume 比子命令 disableenable 生成的系统开销小。如果要临时停止对所有 CPU 的跟踪,应使用 suspendresume

resume

将对所有 CPU 的跟踪恢复到暂停前的状态。suspendresume 可对所有 CPU 运行。

config

如果未指定任何选项,则会显示所有 CPU 的陷阱跟踪状态。如果指定了选项 –b bufsz,则跟踪缓冲区大小将设置为指定的 bufsz,并会重新配置陷阱跟踪。

dump

转储跟踪记录。如果未指定任何选项,则会在终端上显示所有跟踪记录。如果提供了输出文件和 CPU 列表,则只有这些 CPU 上的跟踪才会转储到指定的输出文件。

输出格式可能会在将来有所更改。

陷阱跟踪状态

陷阱跟踪状态

CPU 支持以下陷阱跟踪状态。

Ready(就绪)

已分配跟踪缓冲区,因此,跟踪已就绪,可供启用。

Config(配置)

已分配并配置跟踪缓冲区,但尚未启用。因此,跟踪已就绪,可供启用。

Enabled(已启用)

已启用陷阱跟踪,因此,跟踪缓冲区中的内容将使用 CPU 上的陷阱活动进行更新。

Disabled(已禁用)

已禁用跟踪陷阱。因此,不会更新跟踪缓冲区中的内容,直到重新启用为止。"Disabled"(已禁用)和 "Enabled"(已启用)状态之间发生的陷阱活动不会反映在跟踪缓冲区中。

Suspended(已暂停)

已在所有 CPU 上暂停跟踪。

退出状态

将返回以下退出值:

0

成功完成。

1

出现错误。

示例

示例 1 显示每个 CPU 上的当前陷阱跟踪状态及其缓冲区大小

以下示例说明了如何使用 config 子命令显示每个 CPU 上的当前陷阱跟踪状态及其缓冲区大小。


# ttrace config -H
HV trap trace status :
CPU     Trace-Status      buffer             size
0       Ready             0x22e70000         32768
1       Ready             0x22950000         32768
2       Ready             0x22958000         32768
3       Ready             0x22960000         32768
示例 2 设置跟踪缓冲区大小

以下示例说明了如何使用 config 子命令以及 –b <bufsz> 选项设置跟踪缓冲区大小:


# ttrace config -H -b 64k
HV ttrace buffer size has been set to 65536 and recofigured
successfully. HV trap trace is ready to be enabled.
示例 3 对所有 CPU 启用跟踪

以下示例说明了如何使用 enable 子命令对所有 CPU 启用跟踪:


# ttrace enable -H
# ttrace config -H
CPU     Trace-Status      buffer             size 
0       Enabled           0x22d30000         65536
1       Enabled           0x22d40000         65536
2       Enabled           0x22e70000         65536
3       Enabled           0x22950000         65536

如果使用子命令 enable 以及选项 –p,并提供一个 CPU 列表,则只有在这些 CPU 当前处于禁用状态时,才会对这些 CPU 启用跟踪。

示例 4 对所有 CPU 禁用跟踪

以下示例说明了如何使用不带 –p 选项的 disable 子命令对所有 CPU 禁用跟踪。如果提供了 –p 选项,则仅会对列出的 CPU 禁用跟踪。


# ttrace disable -H -p 2 3

# ttrace config -H
CPU     Trace-Status       buffer             size 
0       Enabled            0x22d30000         65536
1       Enabled            0x22d40000         65536
2       Disabled           0x22e70000         65536
3       Disabled           0x22950000         65536

示例 5 暂停对所有 CPU 的陷阱跟踪

以下示例说明了如何暂停对所有 CPU 的陷阱跟踪:

# ttrace suspend -H
示例 6 恢复对所有 CPU 的陷阱跟踪

以下示例说明了如何恢复对所有 CPU 的陷阱跟踪。suspendresume disableenable 的效率更高:

# ttrace resume -H
示例 7 显示跟踪记录

以下示例说明了如何显示跟踪记录。如果未指定参数,则会在终端上显示所有跟踪记录。如果提供了 –o 选项,并提供了输出文件,则记录将保存到该输出文件中。如果提供了 –p 选项,并提供了 CPU 列表,则仅会保存这些 CPU 的记录。

# ttrace dump -H -o trace.out -p 2 3

如果提供了 –t 选项,则会按时间戳顺序保存 CPU 的跟踪记录,而不是逐个 CPU 进行保存:

# ttrace dump -H -t -o alltrace.out

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/kernel/ttrace
接口稳定性
Committed(已确定)

另请参见

attributes(5)