vopstat_example.txt revision 1.1 1 1.1 christos The following are demonstrations of the vopstat script.
2 1.1 christos
3 1.1 christos
4 1.1 christos By default, vopstat traces activity at the vnode interface and prints
5 1.1 christos summaries every five seconds. It will either trace all filesystems or
6 1.1 christos just the mountpoint specified.
7 1.1 christos
8 1.1 christos Here it was run on /extra1, while a tar command archived /extra1,
9 1.1 christos
10 1.1 christos # ./vopstat /extra1
11 1.1 christos VOP Physical IO Count
12 1.1 christos fop_getpage 66
13 1.1 christos
14 1.1 christos VOP Count Count
15 1.1 christos fop_readdir 1
16 1.1 christos fop_read 2
17 1.1 christos fop_cmp 2
18 1.1 christos fop_seek 3
19 1.1 christos fop_close 7
20 1.1 christos fop_open 10
21 1.1 christos fop_getattr 12
22 1.1 christos fop_access 13
23 1.1 christos fop_lookup 16
24 1.1 christos fop_rwunlock 3802
25 1.1 christos fop_rwlock 3802
26 1.1 christos fop_putpage 4701
27 1.1 christos fop_getpage 6648
28 1.1 christos fop_dispose 19109
29 1.1 christos
30 1.1 christos VOP Wall Time mSeconds
31 1.1 christos fop_readdir 0
32 1.1 christos fop_cmp 0
33 1.1 christos fop_read 0
34 1.1 christos fop_seek 0
35 1.1 christos fop_close 0
36 1.1 christos fop_open 0
37 1.1 christos fop_access 0
38 1.1 christos fop_getattr 0
39 1.1 christos fop_lookup 0
40 1.1 christos fop_rwunlock 64
41 1.1 christos fop_putpage 86
42 1.1 christos fop_rwlock 93
43 1.1 christos fop_dispose 346
44 1.1 christos fop_getpage 402
45 1.1 christos ^C
46 1.1 christos
47 1.1 christos There were 66 calls for physical I/O operations, fop_getpage, as files
48 1.1 christos were read from disk. The VOP Count show that there were many calls to
49 1.1 christos fop_putpage and fop_getpage, as tar works its way through files; and
50 1.1 christos many more to fop_dispose. The total elaspsed time for these calls
51 1.1 christos are listed at the bottom, in milleseconds.
52 1.1 christos
53 1.1 christos This rate of events will put some pressure on the DTrace buffer,
54 1.1 christos you may see dynamic variable drops.
55 1.1 christos
56 1.1 christos
57 1.1 christos
58 1.1 christos vopstat also has a -t option to trace activity. Here it is run on /extra1
59 1.1 christos while an "ls" command listed files from that directory,
60 1.1 christos
61 1.1 christos # ./vopstat -t /extra1
62 1.1 christos Event Device Path RW Size Offset
63 1.1 christos -> fop_getattr - /extra1 - 0 0
64 1.1 christos <- fop_getattr - /extra1 - 0 0
65 1.1 christos -> fop_access - /extra1 - 0 0
66 1.1 christos <- fop_access - /extra1 - 0 0
67 1.1 christos -> fop_open - /extra1 - 0 0
68 1.1 christos <- fop_open - /extra1 - 0 0
69 1.1 christos -> fop_getattr - /extra1 - 0 0
70 1.1 christos <- fop_getattr - /extra1 - 0 0
71 1.1 christos -> fop_rwlock - /extra1 - 0 0
72 1.1 christos <- fop_rwlock - /extra1 - 0 0
73 1.1 christos -> fop_readdir - /extra1 - 0 0
74 1.1 christos -> fop_getpage - /extra1 - 0 0
75 1.1 christos <- fop_getpage - /extra1 - 0 0
76 1.1 christos -> fop_rwunlock - /extra1 - 0 0
77 1.1 christos <- fop_rwunlock - /extra1 - 0 0
78 1.1 christos -> fop_rwlock - /extra1 - 0 0
79 1.1 christos <- fop_rwlock - /extra1 - 0 0
80 1.1 christos -> fop_readdir - /extra1 - 0 0
81 1.1 christos <- fop_readdir - /extra1 - 0 0
82 1.1 christos -> fop_rwunlock - /extra1 - 0 0
83 1.1 christos <- fop_rwunlock - /extra1 - 0 0
84 1.1 christos -> fop_close - /extra1 - 0 512
85 1.1 christos <- fop_close - /extra1 - 0 512
86 1.1 christos ^C
87 1.1 christos
88 1.1 christos Each call can be seen as it happened, including the entry and return of
89 1.1 christos these calls.
90