The following is an example of the vmstat.d script,
We run both vmstat.d and the original vmstat(1M) command at the same time
to compare outputs,
$ vmstat 1
kthr memory page disk faults cpu
r b w swap free re mf pi po fr de sr cd s0 -- -- in sy cs us sy id
0 0 0 1147468 144324 2 8 2 1 1 0 0 1 0 0 0 294 990 355 18 2 80
1 0 0 1065480 92276 13 73 0 0 0 0 0 0 0 0 0 359 1055 376 85 15 0
0 0 0 1052088 82940 0 0 0 0 0 0 0 0 0 0 0 409 999 402 97 3 0
0 0 0 1052088 82940 0 0 0 0 0 0 0 0 0 0 0 406 975 407 97 3 0
0 0 0 1052088 82940 0 0 0 0 0 0 0 0 0 0 0 406 1037 429 97 3 0
0 0 0 1052088 82940 247 1763 0 0 0 0 0 2 0 0 0 427 4828 680 81 19 0
0 0 0 1051264 82300 0 0 0 0 0 0 0 0 0 0 0 414 1164 441 97 3 0
0 0 0 1051264 82300 11 134 0 0 0 0 0 0 0 0 0 423 1218 461 95 5 0
0 0 0 1051264 82300 0 0 0 0 0 0 0 0 0 0 0 416 1054 435 98 2 0
[...]
# ./vmstat.d
w swap free re mf pi po fr sr in sy cs
0 1052088 82940 8 80 0 0 0 0 117 958 379
0 1052088 82940 0 0 0 0 0 0 123 955 402
0 1052088 82940 0 0 0 0 0 0 121 1025 420
0 1052088 82940 0 0 0 0 0 0 121 1065 433
0 1051264 82300 1008 7192 0 0 0 0 219 4886 684
0 1051264 82300 0 0 0 0 0 0 193 1188 461
0 1051264 82300 44 540 0 0 0 0 165 1226 450
0 1051264 82300 0 0 0 0 0 0 123 1012 421
[...]
Above we can see the columns are corresponding well. "re" and "mf" in the
DTrace output appear four times as large as they should be, because in the
DTrace output we are printing Kbs not page counts (for consistancy).
The DTrace output lacks the "summary since boot" line, as it is not using
Kstat to fetch this data.
The vmstat.d script is not intended itself as a useful program, rather it
is intended as a starting point for other DTrace scripts; a starting point
of familiar statistics to provide the programmer with a "common ground"
of knowledge.