|
|
1.1 root 1: .\" Copyright (c) 1985, 1990 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)systat.1 6.9 (Berkeley) 7/24/90
19: .\"
20: .Dd July 24, 1990
21: .Dt SYSTAT 1
22: .Os BSD 4.3
23: .Sh NAME
24: .Nm systat
25: .Nd display system statistics on a crt
26: .Sh SYNOPSIS
27: .Nm systat
28: .Op Fl display
29: .Op Ar refresh-interval
30: .Sh DESCRIPTION
31: .Nm Systat
32: displays various system statistics in a screen oriented fashion
33: using the curses screen display library,
34: .Xr curses 3 .
35: .Pp
36: While
37: .Nm systat
38: is running the screen is usually divided into two windows (an exception
39: is the vmstat display which uses the entire screen). The
40: upper window depicts the current system load average. The
41: information displayed in the lower window may vary, depending on
42: user commands. The last line on the screen is reserved for user
43: input and error messages.
44: .Pp
45: By default
46: .Nm systat
47: displays the processes getting the largest percentage of the processor
48: in the lower window. Other displays show swap space usage, disk i/o
49: statistics (a la
50: .Xr iostat 1 ) ,
51: virtual memory statistics (a la
52: .Xr vmstat 1 ) ,
53: network ``mbuf'' utilization, and network connections (a la
54: .Xr netstat 1 ) .
55: .Pp
56: Input is interpreted at two different levels.
57: A ``global'' command interpreter processes all keyboard input.
58: If this command interpreter fails to recognize a command, the
59: input line is passed to a per-display command interpreter. This
60: allows each display to have certain display-specific commands.
61: .Pp
62: Command line options:
63: .Pp
64: .Tw refresh_interval
65: .Tp Cx Fl
66: .Ar display
67: .Cx
68: The
69: .Fl
70: flag expects
71: .Ar display
72: to be one of:
73: .Ic pigs ,
74: .Ic iostat ,
75: .Ic swap ,
76: .Ic mbufs ,
77: .Ic vmstat
78: or
79: .Ic netstat .
80: These displays can also be requested interactively (without the
81: .Dq Fl )
82: and are described in
83: full detail below.
84: .Tp Ar refresh-interval
85: The
86: .Ar refresh-value
87: specifies the screen refresh time interval in seconds.
88: .Tp
89: .Pp
90: Certain characters cause immediate action by
91: .Nm systat .
92: These are
93: .Tw Fl
94: .Tp Ic \&^L
95: Refresh the screen.
96: .Tp Ic \&^G
97: Print the name of the current ``display'' being shown in
98: the lower window and the refresh interval.
99: .Tp Ic \&^Z
100: Stop
101: .Nm systat .
102: .Tp Ic \&:
103: Move the cursor to the command line and interpret the input
104: line typed as a command. While entering a command the
105: current character erase, word erase, and line kill characters
106: may be used.
107: .Pp
108: The following commands are interpreted by the ``global''
109: command interpreter.
110: .Tp Ic \&help
111: Print the names of the available displays on the command line.
112: .Tp Ic \&load
113: Print the load average over the past 1, 5, and 15 minutes
114: on the command line.
115: .Tp Ic \&stop
116: Stop refreshing the screen.
117: .Tp Cx Op Ic start
118: .Cx \&\ \&
119: .Op Ar number
120: .Cx
121: Start (continue) refreshing the screen. If a second, numeric,
122: argument is provided it is interpreted as a refresh interval
123: (in seconds).
124: Supplying only a number will set the refresh interval to this
125: value.
126: .Tp Ic \&quit
127: Exit
128: .Nm systat .
129: (This may be abbreviated to
130: .Ic q . )
131: .Tp
132: .Pp
133: The available displays are:
134: .Tw Ic
135: .Tp Ic pigs
136: Display, in the lower window, those processes resident in main
137: memory and getting the
138: largest portion of the processor (the default display).
139: When less than 100% of the
140: processor is scheduled to user processes, the remaining time
141: is accounted to the ``idle'' process.
142: .Tp Ic iostat
143: Display, in the lower window, statistics about processor use
144: and disk throughput. Statistics on processor use appear as
145: bar graphs of the amount of time executing in user mode (``user''),
146: in user mode running low priority processes (``nice''), in
147: system mode (``system''), and idle (``idle''). Statistics
148: on disk throughput show, for each drive, kilobytes of data transferred,
149: number of disk transactions performed, and average seek time
150: (in milliseconds). This information may be displayed as
151: bar graphs or as rows of numbers which scroll downward. Bar
152: graphs are shown by default;
153: .Pp
154: The following commands are specific to the
155: .Ic iostat
156: display; the minimum unambiguous prefix may be supplied.
157: .Dw Fl
158: .Dp Cm numbers
159: Show the disk i/o statistics in numeric form. Values are
160: displayed in numeric columns which scroll downward.
161: .Dp Cm bars
162: Show the disk i/o statistics in bar graph form (default).
163: .Dp Cm msps
164: Toggle the display of average seek time (the default is to
165: not display seek times).
166: .Dp
167: .Pp
168: .Tp Ic swap
169: Display, in the lower window, swap space in use on each swap
170: device configured. Two sets of bar graphs are shown. The
171: upper graph displays swap space allocated to pure text segments
172: (code), the lower graph displays space allocated to stack and
173: data segments. Allocated space is sorted by its size into buckets
174: of size dmmin, dmmin*2, dmmin*4, up to dmmax (to reflect allocation
175: policies imposed by the system). The disk segment size, in sectors,
176: is displayed along the left hand side of the text,
177: and data and stack graphs.
178: Space allocated to the user structure and page
179: tables is not currently accounted for.
180: .Tp Ic mbufs
181: Display, in the lower window, the number of mbufs allocated
182: for particular uses, i.e. data, socket structures, etc.
183: .Tp Ic vmstat
184: Take over the entire display and show a (rather crowded) compendium
185: of statistics related to virtual memory usage, process scheduling,
186: device interrupts, system name translation cacheing, disk i/o, etc.
187: .Pp
188: The upper left quadrant of the screen shows the number
189: of users logged in and the load average over the last one, five,
190: and fifteen minute intervals.
191: Below this line are statistics on memory utilization.
192: The first row of the table reports memory usage only among
193: active processes, that is processes that have run in the previous
194: twenty seconds.
195: The second row reports on memory usage of all processes.
196: The first column reports on the number of physical pages
197: claimed by processes.
198: The second column reports the number of physical pages that
199: are devoted to read only text pages.
200: The third and fourth columns report the same two figures for
201: virtual pages, that is the number of pages that would be
202: needed if all processes had all of their pages.
203: Finally the last column shows the number of physical pages
204: on the free list.
205: .Pp
206: Below the memory display is the disk usage display.
207: It reports the number of seeks, transfers, and number
208: of kilobyte blocks transferred per second averaged over the
209: refresh period of the display (by default, five seconds).
210: For some disks it also reports the average milliseconds per seek.
211: Note that the system only keeps statistics on at most four disks.
212: .Pp
213: Below the disk display is a list of the
214: average number of processes (over the last refresh interval)
215: that are runnable (`r'), in page wait (`p'),
216: in disk wait other than paging (`d'),
217: sleeping (`s'), and swapped out but desiring to run (`w').
218: Below the queue length listing is a numerical listing and
219: a bar graph showing the amount of
220: system (shown as `='), user (shown as `>'),
221: nice (shown as `-'), and idle time (shown as ` ').
222: .Pp
223: At the bottom left are statistics on name translations.
224: It lists the number of names translated in the previous interval,
225: the number and percentage of the translations that were
226: handled by the system wide name translation cache, and
227: the number and percentage of the translations that were
228: handled by the per process name translation cache.
229: .Pp
230: Under the date in the upper right hand quadrant are statistics
231: on paging and swapping activity.
232: The first two columns report the average number of pages
233: brought in and out per second over the last refresh interval
234: due to page faults and the paging daemon.
235: The third and fourth columns report the average number of pages
236: brought in and out per second over the last refresh interval
237: due to swap requests initiated by the scheduler.
238: The first row of the display shows the average
239: number of disk transfers per second over the last refresh interval;
240: the second row of the display shows the average
241: number of pages transferred per second over the last refresh interval.
242: .Pp
243: Below the paging statistics is a line listing the average number of
244: total reclaims ('Rec'),
245: intransit blocking page faults (`It'),
246: swap text pages found in free list (`F/S'),
247: file system text pages found in free list (`F/F'),
248: reclaims from free list (`RFL'),
249: pages freed by the clock daemon (`Fre'),
250: and sequential process pages freed (`SFr')
251: per second over the refresh interval.
252: .Pp
253: Below this line are statistics on the average number of
254: zero filled pages (`zf') and demand filled text pages (`xf')
255: per second over the refresh period.
256: The first row indicates the number of requests that were
257: resolved, the second row shows the number that were set up,
258: and the last row shows the percentage of setup requests were
259: actually used.
260: Note that this percentage is usually less than 100%,
261: however it may exceed 100% if a large number of requests
262: are actually used long after they were set up during a
263: period when no new pages are being set up.
264: Thus this figure is most interesting when observed over
265: a long time period, such as from boot time
266: (see below on getting such a display).
267: .Pp
268: Below the page fill statistics is a column that
269: lists the average number of context switches (`Csw'),
270: traps (`Trp'; includes page faults), system calls (`Sys'), interrupts (`Int'),
271: characters output to DZ ports using pseudo-DMA (`Pdm'),
272: network software interrupts (`Sof'),
273: page faults (`Flt'), pages scanned by the page daemon (`Scn'),
274: and revolutions of the page daemon's hand (`Rev')
275: per second over the refresh interval.
276: .Pp
277: Running down the right hand side of the display is a breakdown
278: of the interrupts being handled by the system.
279: At the top of the list is the total interrupts per second
280: over the time interval.
281: The rest of the column breaks down the total on a device
282: by device basis.
283: Only devices that have interrupted at least once since boot time are shown.
284: .Pp
285: The following commands are specific to the
286: .Ic vmstat
287: display; the minimum unambiguous prefix may be supplied.
288: .Dp Cm boot
289: Display cumulative statistics since the system was booted.
290: .Dp Cm run
291: Display statistics as a running total from the point this
292: command is given.
293: .Dp Cm time
294: Display statistics averaged over the refresh interval (the default).
295: .Dp Cm zero
296: Reset running statistics to zero.
297: .Dp
298: .Tp Ic netstat
299: Display, in the lower window, network connections. By default,
300: network servers awaiting requests are not displayed. Each address
301: is displayed in the format ``host.port'', with each shown symbolically,
302: when possible. It is possible to have addresses displayed numerically,
303: limit the display to a set of ports, hosts, and/or protocols
304: (the minimum unambiguous prefix may be supplied):
305: .Pp
306: .Dw Ar
307: .Dp Cm all
308: Toggle the displaying of server processes awaiting requests (this
309: is the equivalent of the
310: .Fl a
311: flag to
312: .Ar netstat 1 ) .
313: .Dp Cm numbers
314: Display network addresses numerically.
315: .Dp Cm names
316: Display network addresses symbolically.
317: .Dp Ar protocol
318: Display only network connections using the indicated protocol
319: (currently either ``tcp'' or ``udp'').
320: .Dp Cx Cm ignore
321: .Cx \&\ \&
322: .Op Ar items
323: .Cx
324: Do not display information about connections associated with
325: the specified hosts or ports. Hosts and ports may be specified
326: by name (``ucbmonet'', ``ftp''), or numerically. Host addresses
327: use the Internet dot notation (``128.32.0.9''). Multiple items
328: may be specified with a single command by separating them with
329: spaces.
330: .Dp Cx Cm display
331: .Cx \&\ \&
332: .Op Ar items
333: .Cx
334: Display information about the connections associated with the
335: specified hosts or ports. As for
336: .Ar ignore ,
337: .Op Ar items
338: may be names or numbers.
339: .Dp Cx Cm show
340: .Cx \&\ \&
341: .Op Ar ports\&|hosts
342: .Cx
343: Show, on the command line, the currently selected protocols,
344: hosts, and ports. Hosts and ports which are being ignored
345: are prefixed with a `!'. If
346: .Ar ports
347: or
348: .Ar hosts
349: is supplied as an argument to
350: .Cm show ,
351: then only the requested information will be displayed.
352: .Dp Cm reset
353: Reset the port, host, and protocol matching mechanisms to the default
354: (any protocol, port, or host).
355: .Dp
356: .Tp
357: .Pp
358: Commands to switch between displays may be abbreviated to the
359: minimum unambiguous prefix; for example, ``io'' for ``iostat''.
360: Certain information may be discarded when the screen size is
361: insufficient for display. For example, on a machine with 10
362: drives the
363: .Ic iostat
364: bar graph displays only 3 drives on a 24 line terminal. When
365: a bar graph would overflow the allotted screen space it is
366: truncated and the actual value is printed ``over top'' of the bar.
367: .Pp
368: The following commands are common to each display which shows
369: information about disk drives. These commands are used to
370: select a set of drives to report on, should your system have
371: more drives configured than can normally be displayed on the
372: screen.
373: .Dw Tx
374: .Dp Cx Cm ignore
375: .Cx \&\ \&
376: .Op Ar drives
377: .Cx
378: Do not display information about the drives indicated. Multiple
379: drives may be specified, separated by spaces.
380: .Dp Cx Cm display
381: .Cx \&\ \&
382: .Op Ar drives
383: .Cx
384: Display information about the drives indicated. Multiple drives
385: may be specified, separated by spaces.
386: .Dp
387: .Sh FILES
388: .Dw /etc/networks
389: .Di L
390: .Dp Pa /vmunix
391: for the namelist
392: .Dp Pa /dev/kmem
393: for information in main memory
394: .Dp Pa /dev/drum
395: for information about swapped out processes
396: .Dp Pa /etc/hosts
397: for host names
398: .Dp Pa /etc/networks
399: for network names
400: .Dp Pa /etc/services
401: for port names
402: .Dp
403: .Sh AUTHOR
404: The unknown hacker. The
405: .Ic pigs
406: display is derived from a program of the same name
407: written by Bill Reeves.
408: .Sh HISTORY
409: .Nm
410: appeared in 4.3 BSD.
411: .Sh BUGS
412: Takes 2-10 percent of the cpu. Certain displays presume
413: a 24 line by 80 character terminal. The swap space display
414: should account for space allocated to the user structure and
415: page tables. The
416: .Ic vmstat
417: display looks out of place because it is (it was added in as
418: a separate display rather than create a new program).
419: .Pp
420: The whole
421: thing is pretty hokey and was included in the distribution under
422: serious duress.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.