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