1 11/10/89  file_system_meters, fsm
  2 
  3 Syntax as a command:  fsm  {-control_args}
  4 
  5 
  6 Function:
  7    used to meter certain storage system variables and functions.
  8 
  9 
 10 Control arguments:
 11 -ast
 12    prints certain meters about active segment table (AST) usage.
 13 -brief,  -bf
 14    generates a shortened report.  Those meters not printed if -brief is
 15    specified are indicated by a plus (+) in "Notes" below.
 16 -page  -pg
 17    prints certain meters about paging.
 18 
 19 
 20 -report_reset, -rr
 21    generates a report and then performs the reset operation.  The
 22    report can be shortened by using the -brief control argument.
 23 -reset,  -rs
 24    resets the metering interval for the invoking process so that the
 25    interval begins at the last call with -reset specified.  If -reset
 26    has never been given in a process, it is equivalent to having been
 27    specified at system initialization time.
 28 
 29 
 30 Access required:
 31    This command requires access to phcs_ or metering_gate_.
 32 
 33 
 34 Notes:
 35 If the file_system_meters command is given with no control arguments,
 36 it prints a full report.
 37 
 38 
 39 The following meters, which reflect the activity of the AST lists, are
 40 printed if the -ast control argument is specified.  The two columns
 41 printed by this command contain the number of occurrences of the
 42 specified item and the average time between occurrences.
 43 
 44 Activations
 45    is the number of segment activations
 46 
 47    segfault
 48       is the number of activations caused by segment faults; also
 49       expressed as a percentage of all activations.
 50 
 51 
 52    makeknown
 53       is the number of activations not caused directly by segment
 54       faults, but resulting from explicit calls from the makeknown_
 55       routine; also expressed as a percentage of all activations.
 56 
 57    backup
 58       is the number of activations resulting from calls to
 59       activate$backup_activate; also expressed as a percentage of all
 60       activations.
 61 
 62    directories
 63       is the number of directories activated; also expressed as a
 64       percentage of all activations
 65 
 66 
 67 Deactivations
 68    is the number of segment deactivations
 69 
 70 Demand deactivate
 71 
 72    attempts
 73       is the number of deactivations explicitly requested by users.
 74 
 75    successes
 76       is the number of demand deactivations which succeeded; also
 77       expressed as a percentage of attempts and as a percentage of all
 78       deactivations.
 79 
 80 
 81 Seg Faults
 82 
 83    faults
 84       is the number of segment faults
 85 
 86    call
 87       is the number of calls to the segment fault handler to activate a
 88       segment without taking a segment fault; also expressed as a
 89       percentage of segment faults.
 90 
 91    activations
 92       is the number of segment faults that resulted in an activation;
 93       also expressed as a percentage of segment faults.
 94 
 95 
 96 Bound Faults
 97    is the number of bound faults.
 98 
 99 + Setfaults
100    is the number of setfaults performed during segment deactivation and
101    during the handling of bound faults.  Setfaults are segment faults
102    forced when dynamic segment attributes are changed (e.g., access to
103    a segment is revoked by another process).
104 
105    access
106       is the number of setfaults performed because the access was
107       changed on a segment; also expressed as a percentage of all
108       setfaults.
109 
110 
111 + ASTE  Trickle
112    is the number of times the vtoce was updated from the ASTE because
113    the information in the VTOCE was noticed to have changed during ASTE
114    allocation.  ASTE Trickle is a hedge against system crashes, as it
115    updates ASTEs into the VTOCEs periodically, rather than on demand.
116 
117 + Steps
118    is the number of steps taken through the AST lists searching for a
119    free, usable AST entry.
120 
121 + Skips
122    is the number of times an entry was skipped; also expressed as a
123    percentage of Steps.
124 
125 
126 + ehs
127    is the number of times an entry was skipped in the search for a
128    free, usable entry because the entry-hold-switch was on.  The
129    entry-hold-switch is set for certain segments that cannot be
130    deactivated.  Also expressed as a percentage of Skips.
131 
132 + mem
133    is the number of times an entry was skipped because it had pages in
134    memory; also expressed as a percentage of Skips.
135 
136 + init
137    is the number of times an entry was skipped to give it a grace lap
138    after all of its pages were removed from core; also expressed as a
139    percentage of Skips.
140 
141 
142 + Searches
143    is the number of full AST searches required because no entry was
144    readily available.
145 
146 + Avg. Cost
147    is the average "cost" in I/Os of deactivations arising from full
148    searches.
149 
150 Cleanups
151    is the number of calls to cleanup.  The percentage of real time
152    spent in cleanup is also given.
153 
154 
155 Force writes
156    is the number of calls to force_write.  The three following meters
157    relating to force_writes are printed only if any force_writes
158    occurred.
159 
160    without pwrites
161       is the number of times force_write wrote no pages.
162 
163    pages written
164       is the number of pages written by force_write.
165 
166    force updatev
167       is the number of calls to update_vtoce resulting from
168       force_writes.
169 
170 
171 Lock AST
172    is the number of lockings of the AST.
173 
174 
175 The following meters provide information about AST lock contention.
176 
177 AST locked
178    is the average real time during which the AST lock is held locked
179    and the percentage of the metering interval during which the AST was
180    locked.  This percentage cannot exceed 100%, and the closer the 100%
181    figure is approached, the more AST lock contention becomes the
182    limiting function in system throughput.
183 
184 AST lock waiting
185    is the average real time delay between an attempt to lock the AST
186    and successful locking of the AST.  The total real time spent by all
187    processes waiting for the AST lock, expressed as a percentage of the
188    metering interval, is also given.  This number may exceed 100% if,
189    on the average, more than one process was waiting for the AST lock.
190 
191 
192 The following items represent a table indexed by page table size and
193 they show the activity and use of the four AST lists.
194 
195 AST Sizes
196    indicates the page table sizes being used by the system (constant).
197 
198 Number
199    is the number of entries of the specified size.
200 
201 Need
202    is the number of entries of the specified size that were needed.
203 
204 
205 Steps
206    is the number of steps taken while scanning the specified list.
207 
208 Ave Steps
209    is the average number of steps taken in the specified list to find a
210    usable entry in the list.
211 
212 Lap Time (sec)
213    is the average time for the replacement algorithm to make one pass
214    over the list.
215 
216 
217 The following meters are printed if the -page control argument is
218 specified.  The two columns printed by this command contain the number
219 of occurrences of the specified item and the average time between
220 occurrences.
221 
222 Needc
223    is the number of times a frame of main memory was needed (for page
224    faults, process loadings, etc.).
225 
226 Ceiling
227    is the number of times too many write requests were queued at once.
228    Not printed if zero.
229 
230 
231 Claim runs
232    is the number of times the page removal algorithm could not queue an
233    additional write until a previous write was completed.  If the
234    average time between claim runs is less than .010 minutes, then an
235    I/O bottleneck probably exists in the system.  If the value of claim
236    runs is zero, then the value is not printed.
237 
238 Ring O faults
239    is the percentage of page faults that occurred while executing in
240    ring O.
241 
242 PDIR faults
243    is the percentage of page faults that occur on pages of segments in
244    process directories.
245 
246 
247 Level 2 faults
248    is the percentage of page faults on pages of segments in directories
249    directly off the root.  This is a measure of the activity of the
250    system libraries.
251 
252 DIR faults
253    is the percentage of page faults on directory pages.
254 
255 New Pages
256    is the percentage of page faults that resulted in the creation of
257    pages.  This happens because the page faulted has never been
258    referenced or logically contains all zeros.
259 
260 
261 Volmap_seg
262    is the number of page faults taken on free storage maps; also
263    expressed as the average time between faults.
264 
265 Zero pages
266    is the number of page writes that were avoided because the page to
267    be written contained all zeros.  In general, pages of zeros are not
268    written to disk but are converted to null addresses (an indication
269    in the file map for the segment that the page is logically zero).
270    Also expressed as the average time between zero pages.
271 
272 
273 Segment State Change
274    is a measure of suspected covert channel activity.
275 
276    audited
277       is the number of times all processes performed suspected covert
278       channel segment state changes at a rate exceeding the
279       system-defined limit.
280 
281    delayed
282       is the number of times all processes had to be delayed in order to
283       keep the rate of suspected covert channel segment state changes
284       within the system-defined limit.
285 
286    avg.
287       is the average time processes were delayed.
288 
289 
290 Laps
291    is the number of times the used pointer has gone around the main
292    memory used list in the search for a usable block of main memory.
293 
294 + Steps
295    is the number of steps taken around the main memory used list.  A
296    step consists in moving the used pointer to the next entry on the
297    list.
298 
299 + Skip
300    is the number of times a page was skipped; also expressed as a
301    percentage of Steps.
302 
303 
304 + wired
305    is the number of times a page was skipped while searching the main
306    memory used list because it was wired down; also expressed as a
307    percentage of Skip.
308 
309 + used
310    is the number of times a page was skipped because it was used in the
311    last lap; also expressed as a percentage of Skip.
312 
313 + mod
314    is the number of times a page was skipped because it had been
315    modified; also expressed as a percentage of Skip.
316 
317 
318 + fc pin
319    is the number of times a page was skipped by find_core because it
320    was pinned; also expressed as a percentage of Skip.
321 
322 + cl pin
323    is the number of times a page was skipped by claim_mode_core because
324    it was pinned; also expressed as a percentage of Skip.
325 
326 pages
327    is the number of pages available in the system.  This is the total
328    main memory minus the permanently wired down supervisor.
329 
330 
331 wired
332    is the number of pages temporarily wired down.  This includes
333    descriptor segments and process data segments (PDS) for loaded
334    processes.
335 
336 Average steps
337    is the average number of steps taken around the main memory used
338    list to find a usable frame of main memory.