Solaris 动态跟踪指南

探测器

sysinfo 提供器提供了对应于 sys 命名的内核统计信息中字段的探测器:sysinfo 提供的探测器就在递增相应的 sys 值之前触发。以下示例说明了如何使用 kstat(1M) 命令显示 sys 命名的内核统计信息的名称和当前值。


$ kstat -n sys
module: cpu                             instance: 0
name:   sys                             class:    misc
	bawrite                         123
	bread                           2899
	bwrite                          17995
...

表 23–1 中对 sysinfo 探测器进行了说明。

表 23–1 sysinfo 探测器

bawrite

要将缓冲区异步写出到设备中时将触发的探测器。 

bread

从设备中实际读取缓冲区时将触发的探测器。bread 在从设备中请求缓冲区之后,但在阻塞暂挂的请求完成之前触发。

bwrite

要将缓冲区写出(无论同步或异步)到设备中时将触发的探测器。

idlethread

CPU 进入空闲循环时将触发的探测器。 

intrblk

中断线程阻塞时将触发的探测器。 

inv_swtch

强制正在运行的线程被迫放弃 CPU 时将触发的探测器。 

lread

逻辑上从设备中读取缓冲区时将触发的探测器。 

lwrite

逻辑上将缓冲区写入设备时将触发的探测器。 

modload

装入内核模块时将触发的探测器。 

modunload

卸载内核模块时将触发的探测器。 

msg

进行 msgsnd(2) 或 msgrcv(2) 系统调用(但在执行消息队列操作之前)时将触发的探测器。

mutex_adenters

尝试获取已拥有的自适应锁定时将触发的探测器。如果触发此探测器,则会同时触发 lockstat 提供器的 adaptive-block 或 adaptive-spin 探测器。有关详细信息,请参见第 18 章。

namei

尝试在文件系统中进行名称查找时将触发的探测器。 

nthreads

创建线程时将触发的探测器。 

phread

要执行原始 I/O 读取时将触发的探测器。 

phwrite

要执行原始 I/O 写入时将触发的探测器。 

procovf

由于系统缺乏进程表项而无法创建新进程时将触发的探测器。 

pswitch

CPU 从执行某个线程切换到执行另一个线程时将触发的探测器。 

readch

每次成功读取后,但在将控制返回到执行该读取的线程之前将触发的探测器。可以通过 read(2)、readv(2) 或 pread(2) 系统调用进行读取。arg0 包含已成功读取的字节数。

rw_rdfails

如果在写入者暂挂锁定或写入者需要锁定时,尝试读取并锁定读取者/写入者,则将触发的探测器。如果触发此探测器,则 lockstat 提供器的 rw-block 探测器也将触发。有关详细信息,请参见第 18 章。

rw_wrfails

如果在一定数量的读取者或另一个写入者暂挂锁定时,尝试写入并锁定读取者/写入者锁定,则将触发的探测器。如果触发此探测器,则 lockstat 提供器的 rw-block 探测器也将触发。有关详细信息,请参见第 18 章。

sema

执行 semop(2) 系统调用(但在执行任何信号操作之前)时将触发的探测器。

sysexec

执行 exec(2) 系统调用时将触发的探测器。

sysfork

执行 fork(2) 系统调用时将触发的探测器。

sysread

执行 read(2)、readv(2) 或 pread(2) 系统调用时将触发的探测器。

sysvfork

执行 vfork(2) 系统调用时将触发的探测器。

syswrite

执行 write(2)、writev(2) 或 pwrite(2) 系统调用时将触发的探测器。

trap

发生处理器陷阱时将触发的探测器。请注意,一些处理器(特别是 UltraSPARC 变体)通过不会引起此探测器触发的机制处理一些轻权陷阱。 

ufsdirblk

从 UFS 文件系统中读取目录块时将触发的探测器。有关 UFS 的详细信息,请参见 ufs(7FS)。

ufsiget

检索 inode 时将触发的探测器。有关 UFS 的详细信息,请参见 ufs(7FS)。

ufsinopage

可重用不包含任何关联数据页的内核 inode 之后将触发的探测器。有关 UFS 的详细信息,请参见 ufs(7FS)。

ufsipage

可重用包含任何关联数据页的内核 inode 之后将触发的探测器。在将关联的数据页刷新到磁盘之后将触发此探测器。有关 UFS 的详细信息,请参见 ufs(7FS)。

writech

每次成功写入后,但在将控制返回到执行该写入的线程之前将触发的探测器。可以通过 write(2)、writev(2) 或 pwrite(2) 系统调用进行写入。arg0 包含已成功写入的字节数。

xcalls

要进行交叉调用时将触发的探测器。交叉调用是一个 CPU 请求另一个 CPU 的即时工作的操作系统机制。