vminfo 提供器提供了与 vm 命名的内核统计信息中的字段对应的探测器:vminfo 提供的探测器就在递增相应的 vm 值之前的瞬间触发。要显示 vm 命名的内核统计信息的名称和当前值,请使用 kstat(1M) 命令,如以下示例所示:
$ kstat -n vm module: cpu instance: 0 name: vm class: misc anonfree 13 anonpgin 2620 anonpgout 13 as_fault 12528831 cow_fault 2278711 crtime 202.10625712 dfree 1328740 execfree 0 execpgin 5541 ... |
表 24–1 中对 vminfo 探测器进行了说明。
表 24–1 vminfo 探测器
anonfree |
作为分页活动的一部分,释放未修改的匿名页时将触发的探测器。匿名页是指那些与文件不关联的页面。包含此类页面的内存包括堆内存、栈内存或通过显式映射 zero(7D) 获取的内存。 |
anonpgin |
从交换设备调进匿名页时将触发的探测器。 |
anonpgout |
将已修改的匿名页调出到交换设备时将触发的探测器。 |
as_fault |
在页面上捕获到故障,并且该故障既不是保护故障,也不是写复制故障时将触发的探测器。 |
cow_fault |
在页面上捕获到写复制故障时将触发的探测器。arg0 包含由于写复制而创建的页数。 |
dfree |
由于分页活动而释放页面时将触发的探测器。触发 dfree 时,anonfree、execfree 或 fsfree 之一也必然在随后触发。 |
execfree |
由于分页活动而释放未修改的可执行页时将触发的探测器。 |
execpgin |
从后备存储调进可执行页时将触发的探测器。 |
execpgout |
将已修改的可执行页调出到后备存储时将触发的探测器。可执行页的大多数分页都与 execfree 有关。只有在内存中修改了可执行页时,才能触发 execpgout,这种情况在多数系统中不常见。 |
fsfree |
作为分页活动的一部分,释放未修改的文件系统数据页时将触发的探测器。 |
fspgin |
从后备存储调进文件系统页时将触发的探测器。 |
fspgout |
将已修改的文件系统页调出到后备存储时将触发的探测器。 |
kernel_asflt |
内核在页面自身的地址空间中捕获到页面故障时将触发的探测器。在触发 kernel_asflt 之前的瞬间会触发 as_fault 探测器。 |
maj_fault |
捕获到导致从后备存储或交换设备执行 I/O 操作的页面故障时将触发的探测器。在触发 maj_fault 之前的瞬间会触发 pgin 探测器。 |
pgfrec |
从可用页列表回收页面时将触发的探测器。 |
pgin |
从后备存储或交换设备调进页面时将触发的探测器。此探测器与 maj_fault 不同,因为 maj_fault 仅在页面由于故障而调进时触发。而 pgin 则无论原因是什么,每次调进页面时都会触发。 |
pgout |
将页面调出到后备存储或交换设备时将触发的探测器。 |
pgpgin |
从后备存储或交换设备调进页面时将触发的探测器。pgpgin 和 pgin 之间的唯一区别在于,pgpgin 包含按照 arg0 调进的页数,pgin 则在 arg0 中始终包含 1。 |
pgpgout |
将页面调出到后备存储或交换设备时将触发的探测器。pgpgout 和 pgout 之间的唯一区别在于,pgpgout 包含按照 arg0 调出的页数。(pgout 则在 arg0 中始终包含 1。) |
pgrec |
回收页面时将触发的探测器。 |
pgrrun |
调度页面调度程序时将触发的探测器。 |
pgswapin |
从换出进程换入页面时将触发的探测器。换入的页数包含在 arg0 中。 |
pgswapout |
作为换出进程的一部分,换出页面时将触发的探测器。换出的页数包含在 arg0 中。 |
prot_fault |
由于保护违规而捕获到页面故障时将触发的探测器。 |
rev |
页面守护进程在所有页面中启动新循环时将触发的探测器。 |
scan |
页面守护进程检查页面时将触发的探测器。 |
softlock |
作为在页面上放置软件锁的一部分,页面出现故障时将触发的探测器。 |
swapin |
将换出进程换回时将触发的探测器。 |
swapout |
换出进程时将触发的探测器。 |
zfod |
根据需要创建用零填充的页面时将触发的探测器。 |