sysinfo 探测器的参数如下所示:
arg0 |
统计信息将递增的值。对于大多数探测器,此参数始终为 1,但对于一些探测器,此参数可以采用其他值。 |
arg1 |
指向要递增的统计信息当前值的指针。此值是一个 64 位数,将按 arg0 中的值递增。取消引用此指针可以使使用者确定对应于该探测器的统计信息的当前计数。 |
arg2 |
指向 cpu_t 结构的指针,该结构对应于要递增统计信息的 CPU。此结构在 <sys/cpuvar.h> 中定义,但它为内核实现的一部分,应视为“专用”。 |
对于大多数 sysinfo 探测器,arg0 的值为 1。但是,readch 和 writech 探测器将 arg0 分别设置为已读取或已写入的字节数。使用以下功能可以确定按可执行名称读取的大小,如下例所示:
# dtrace -n readch'{@[execname] = quantize(arg0)}' dtrace: description 'readch' matched 4 probes ^C xclock value ------------- Distribution ------------- count 16 | 0 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 64 | 0 acroread value ------------- Distribution ------------- count 16 | 0 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 64 | 0 FvwmAuto value ------------- Distribution ------------- count 2 | 0 4 |@@@@@@@@@@@@@ 13 8 |@@@@@@@@@@@@@@@@@@@@@ 21 16 |@@@@@ 5 32 | 0 xterm value ------------- Distribution ------------- count 16 | 0 32 |@@@@@@@@@@@@@@@@@@@@@@@@ 19 64 |@@@@@@@@@ 7 128 |@@@@@@ 5 256 | 0 fvwm2 value ------------- Distribution ------------- count -1 | 0 0 |@@@@@@@@@ 186 1 | 0 2 | 0 4 |@@ 51 8 | 17 16 | 0 32 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 503 64 | 9 128 | 0 Xsun value ------------- Distribution ------------- count -1 | 0 0 |@@@@@@@@@@@ 269 1 | 0 2 | 0 4 | 2 8 |@ 31 16 |@@@@@ 128 32 |@@@@@@@ 171 64 |@ 33 128 |@@@ 85 256 |@ 24 512 | 8 1024 | 21 2048 |@ 26 4096 | 21 8192 |@@@@ 94 16384 | 0 |
sysinfo 提供器将 arg2 设置为指向 cpu_t(内核实现的一种内部结构)的指针。sysinfo 探测器在要递增统计信息的 CPU 中触发。使用 cpu_t 的 cpu_id 成员可确定关注的 CPU。