]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - cddl/contrib/dtracetoolkit/Examples/seeksize_example.txt
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
[FreeBSD/stable/10.git] / cddl / contrib / dtracetoolkit / Examples / seeksize_example.txt
1 The following are examples of seeksize.d.
2
3 seeksize.d records disk head seek size for each operation by process.
4 This allows up to identify processes that are causing "random" disk
5 access and those causing "sequential" disk access.
6
7 It is desirable for processes to be accesing the disks in large 
8 sequential operations. By using seeksize.d and bitesize.d we can
9 identify this behaviour.
10
11
12
13 In this example we read through a large file by copying it to a 
14 remote server. Most of the seek sizes are zero, indicating sequential
15 access - and we would expect good performance from the disks
16 under these conditions,
17
18 # ./seeksize.d 
19 Tracing... Hit Ctrl-C to end.
20 ^C
21
22    22349  scp /dl/sol-10-b63-x86-v1.iso mars:\0
23
24            value  ------------- Distribution ------------- count    
25               -1 |                                         0        
26                0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   726      
27                1 |                                         0        
28                2 |                                         0        
29                4 |                                         0        
30                8 |@                                        13       
31               16 |                                         4        
32               32 |                                         0        
33               64 |                                         0        
34              128 |                                         2        
35              256 |                                         3        
36              512 |                                         4        
37             1024 |                                         4        
38             2048 |                                         3        
39             4096 |                                         0        
40             8192 |                                         3        
41            16384 |                                         0        
42            32768 |                                         1        
43            65536 |                                         0        
44
45
46
47 In this example we run find. The disk operations are fairly scattered,
48 as illustrated below by the volume of non sequential reads,
49
50 # ./seeksize.d 
51 Tracing... Hit Ctrl-C to end.
52 ^C
53
54    22399  find /var/sadm/pkg/\0
55
56            value  ------------- Distribution ------------- count    
57               -1 |                                         0        
58                0 |@@@@@@@@@@@@@                            1475     
59                1 |                                         0        
60                2 |                                         44       
61                4 |@                                        77       
62                8 |@@@                                      286      
63               16 |@@                                       191      
64               32 |@                                        154      
65               64 |@@                                       173      
66              128 |@@                                       179      
67              256 |@@                                       201      
68              512 |@@                                       186      
69             1024 |@@                                       236      
70             2048 |@@                                       201      
71             4096 |@@                                       274      
72             8192 |@@                                       243      
73            16384 |@                                        154      
74            32768 |@                                        113      
75            65536 |@@                                       182      
76           131072 |@                                        81       
77           262144 |                                         0   
78
79
80
81
82 I found the following interesting. This time I gzipp'd the large file.
83 While zipping, the process is reading from one location and writing
84 to another. One might expect that as the program toggles between
85 reading from one location and writing to another, that often the
86 distance would be the same (depending on where UFS puts the new file),
87  
88 # ./seeksize.d 
89 Tracing... Hit Ctrl-C to end.
90 ^C
91
92    22368  gzip sol-10-b63-x86-v1.iso\0
93
94            value  ------------- Distribution ------------- count    
95               -1 |                                         0        
96                0 |@@@@@@@@@@@@                             353      
97                1 |                                         0        
98                2 |                                         0        
99                4 |                                         0        
100                8 |                                         7        
101               16 |                                         4        
102               32 |                                         2        
103               64 |                                         4        
104              128 |                                         14       
105              256 |                                         3        
106              512 |                                         3        
107             1024 |                                         5        
108             2048 |                                         1        
109             4096 |                                         0        
110             8192 |                                         3        
111            16384 |                                         1        
112            32768 |                                         1        
113            65536 |                                         1        
114           131072 |                                         1        
115           262144 |@@@@@@@@                                 249      
116           524288 |                                         1        
117          1048576 |                                         2        
118          2097152 |                                         1        
119          4194304 |                                         2        
120          8388608 |@@@@@@@@@@@@@@@@@@                       536      
121         16777216 |                                         0   
122
123
124
125
126 The following example compares the operation of "find" with "tar".
127 Both are reading from the same location, and we would expect that
128 both programs would generally need to do the same number of seeks
129 to navigate the direttory tree (depending on caching); and tar
130 causing extra operations as it reads the file contents as well,
131
132 # ./seeksize.d 
133 Tracing... Hit Ctrl-C to end.
134 ^C
135
136      PID  CMD
137    22278  find /etc\0
138
139            value  ------------- Distribution ------------- count    
140               -1 |                                         0        
141                0 |@@@@@@@@@@@@@@@@@@@@                     251      
142                1 |                                         0        
143                2 |@                                        8        
144                4 |                                         5        
145                8 |@                                        10       
146               16 |@                                        10       
147               32 |@                                        10       
148               64 |@                                        9        
149              128 |@                                        11       
150              256 |@                                        14       
151              512 |@@                                       20       
152             1024 |@                                        10       
153             2048 |                                         6        
154             4096 |@                                        7        
155             8192 |@                                        10       
156            16384 |@                                        16       
157            32768 |@@                                       21       
158            65536 |@@                                       28       
159           131072 |@                                        7        
160           262144 |@                                        14       
161           524288 |                                         6        
162          1048576 |@                                        15       
163          2097152 |@                                        7        
164          4194304 |                                         0        
165
166
167    22282  tar cf /dev/null /etc\0
168
169            value  ------------- Distribution ------------- count    
170               -1 |                                         0        
171                0 |@@@@@@@@@@                               397      
172                1 |                                         0        
173                2 |                                         8        
174                4 |                                         14       
175                8 |                                         16       
176               16 |@                                        24       
177               32 |@                                        29       
178               64 |@@                                       99       
179              128 |@@                                       73       
180              256 |@@                                       78       
181              512 |@@@                                      109      
182             1024 |@@                                       62       
183             2048 |@@                                       69       
184             4096 |@@                                       73       
185             8192 |@@@                                      113      
186            16384 |@@                                       81       
187            32768 |@@@                                      111      
188            65536 |@@@                                      108      
189           131072 |@                                        49       
190           262144 |@                                        33       
191           524288 |                                         20       
192          1048576 |                                         13       
193          2097152 |                                         7        
194          4194304 |                                         5        
195          8388608 |@                                        30       
196         16777216 |                                         0  
197