Solaris 动态跟踪指南

创建推理

speculation() 函数分配推理缓冲区并返回推理标识符。在对 speculate() 函数的后续调用中应使用推理标识符。推理缓冲区是一种有限的资源:如果在调用 speculation() 时无推理缓冲区可用,则返回的 ID 为零,并将递增相应的 DTrace 错误计数器。值为零的 ID 始终无效,但可以传递到 speculate()commit()discard()。如果调用 speculation() 失败,则将生成与以下示例类似的 dtrace 消息:


dtrace: 2 failed speculations (no speculative buffer space available)

推理缓冲区的数量缺省值为 1,但是也可以调高。有关更多信息,请参见推理选项和调整