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-blockadaptive-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 的即时工作的操作系统机制。