Annotation of src/usr.bin/systat/systat.1, Revision 1.73
1.73 ! jmc 1: .\" $OpenBSD: systat.1,v 1.72 2008/11/08 15:46:49 jmc Exp $
1.2 deraadt 2: .\" $NetBSD: systat.1,v 1.6 1996/05/10 23:16:39 thorpej Exp $
1.1 deraadt 3: .\"
4: .\" Copyright (c) 1985, 1990, 1993
5: .\" The Regents of the University of California. All rights reserved.
6: .\"
7: .\" Redistribution and use in source and binary forms, with or without
8: .\" modification, are permitted provided that the following conditions
9: .\" are met:
10: .\" 1. Redistributions of source code must retain the above copyright
11: .\" notice, this list of conditions and the following disclaimer.
12: .\" 2. Redistributions in binary form must reproduce the above copyright
13: .\" notice, this list of conditions and the following disclaimer in the
14: .\" documentation and/or other materials provided with the distribution.
1.28 millert 15: .\" 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 16: .\" may be used to endorse or promote products derived from this software
17: .\" without specific prior written permission.
18: .\"
19: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29: .\" SUCH DAMAGE.
30: .\"
31: .\" @(#)systat.1 8.2 (Berkeley) 12/30/93
32: .\"
1.72 jmc 33: .Dd $Mdocdate: November 8 2008 $
1.1 deraadt 34: .Dt SYSTAT 1
1.12 aaron 35: .Os
1.1 deraadt 36: .Sh NAME
37: .Nm systat
1.41 jmc 38: .Nd display system statistics
1.1 deraadt 39: .Sh SYNOPSIS
40: .Nm systat
1.62 matthieu 41: .Op Fl abin
42: .Op Fl d Ar count
43: .Op Fl s Ar delay
44: .Op Fl w Ar width
45: .Op Ar view
46: .Op Ar delay
1.1 deraadt 47: .Sh DESCRIPTION
1.13 aaron 48: .Nm
1.73 ! jmc 49: displays various system statistics in a screen-oriented fashion
! 50: using the
! 51: .Xr curses 3
! 52: screen display library.
1.1 deraadt 53: .Pp
54: While
1.13 aaron 55: .Nm
1.73 ! jmc 56: is running, the screen is divided into differing areas.
! 57: The top line depicts the current system load average.
! 58: The bottom line of the screen is reserved for
! 59: user input and error messages.
! 60: The information displayed in the rest of the screen
! 61: comprises a
! 62: .Em view ,
! 63: and is the main interface for
! 64: displaying differing types of system statistics.
! 65: The
! 66: .Ic vmstat
! 67: view is the default.
1.1 deraadt 68: .Pp
69: Input is interpreted at two different levels.
1.13 aaron 70: A
71: .Dq global
72: command interpreter processes all keyboard input.
1.1 deraadt 73: If this command interpreter fails to recognize a command, the
1.16 aaron 74: input line is passed to a per-display command interpreter.
75: This allows each display to have certain display-specific commands.
1.1 deraadt 76: .Pp
1.16 aaron 77: The options are as follows:
1.62 matthieu 78: .Bl -tag -width Ds
1.64 jmc 79: .It Fl a
1.62 matthieu 80: Display all lines.
81: .It Fl b
1.64 jmc 82: Raw, non interactive mode.
1.62 matthieu 83: .It Fl d Ar count
84: Exit after
85: .Ar count
86: screen updates.
87: .It Fl i
88: Interactive mode.
1.34 itojun 89: .It Fl n
1.73 ! jmc 90: Do not try to reverse map IP addresses.
1.62 matthieu 91: .It Fl s Ar delay
1.31 jmc 92: Specifies the screen refresh time interval in seconds.
1.62 matthieu 93: This option is overridden by the final
1.64 jmc 94: .Ar delay
1.73 ! jmc 95: argument, if given.
1.31 jmc 96: The default interval is 5 seconds.
1.62 matthieu 97: .It Fl w Ar width
1.63 sobrado 98: Specifies the maximum width of the display.
1.62 matthieu 99: .\" XXX not sure for the above.
100: .It Ar view
1.1 deraadt 101: The
1.62 matthieu 102: .Ar view
1.2 deraadt 103: argument expects to be one of:
1.62 matthieu 104: .Ic vmstat ,
1.1 deraadt 105: .Ic pigs ,
1.62 matthieu 106: .Ic ifstat ,
1.1 deraadt 107: .Ic iostat ,
1.49 deraadt 108: .Ic sensors ,
1.1 deraadt 109: .Ic mbufs ,
1.62 matthieu 110: .Ic netstat ,
111: .Ic swap ,
112: .Ic states ,
113: .Ic rules ,
1.68 canacar 114: .Ic queues ,
1.71 canacar 115: .Ic pf ,
116: .Ic pool ,
117: .Ic malloc ,
1.1 deraadt 118: or
1.71 canacar 119: .Ic buckets .
1.2 deraadt 120: These displays can also be requested interactively and are described in
1.1 deraadt 121: full detail below.
1.62 matthieu 122: .Ar view
1.53 jmc 123: may be abbreviated to the minimum unambiguous prefix;
124: for example,
1.50 jmc 125: .Dq io
126: for
127: .Dq iostat .
1.62 matthieu 128: .It Ar delay
1.1 deraadt 129: The
1.62 matthieu 130: .Ar delay
1.73 ! jmc 131: argument specifies the screen refresh time interval in seconds.
! 132: This is provided for backwards compatibility, and overrides any
1.31 jmc 133: interval specified with the
1.73 ! jmc 134: .Fl s
1.2 deraadt 135: flag.
1.31 jmc 136: The default interval is 5 seconds.
1.1 deraadt 137: .El
138: .Pp
139: Certain characters cause immediate action by
1.61 jmc 140: .Nm .
1.63 sobrado 141: These are:
1.1 deraadt 142: .Bl -tag -width Fl
143: .It Ic \&:
144: Move the cursor to the command line and interpret the input
1.16 aaron 145: line typed as a command.
146: While entering a command the
1.1 deraadt 147: current character erase, word erase, and line kill characters
148: may be used.
1.69 canacar 149: .It Ic o
150: Select the next ordering which sorts the rows according to a
1.70 jmc 151: combination of columns.
152: Available orderings depend on the view.
153: Not all views support orderings.
1.66 canacar 154: .It Ic p
155: Pause
156: .Nm .
1.59 jmc 157: .It Ic q
1.73 ! jmc 158: Quit
1.66 canacar 159: .Nm .
1.69 canacar 160: .It Ic r
161: Reverse the selected ordering if supported by the view.
1.66 canacar 162: .It Ic ^A \*(Ba Aq Ic Home
163: Jump to the beginning of the current view.
164: .It Ic ^B \*(Ba Aq Ic right arrow
165: Select previous view.
166: .It Ic ^E \*(Ba Aq Ic End
167: Jump to the end of the current view.
168: .It Ic ^F \*(Ba Aq Ic left arrow
169: Select the next view.
170: .It Ic ^G
171: Print the name of the current
1.73 ! jmc 172: view being shown and the refresh interval.
1.66 canacar 173: .It Ic ^L
174: Refresh the screen.
175: .It Ic ^N \*(Ba Aq Ic down arrow
176: Scroll current view down by one line.
177: .It Ic ^P \*(Ba Aq Ic up arrow
178: Scroll current view up by one line.
179: .It Ic ^V \*(Ba Aq Ic Page Down
180: Scroll current view down by one page.
181: .It Ic Alt-V \*(Ba Aq Ic Page Up
182: Scroll current view up by one page.
183: .It Ic ^Z
184: Suspend
1.59 jmc 185: .Nm .
1.1 deraadt 186: .El
187: .Pp
1.13 aaron 188: The following commands are interpreted by the
189: .Dq global
1.1 deraadt 190: command interpreter.
191: .Bl -tag -width Fl
192: .It Ic help
1.73 ! jmc 193: Print the names of the available views on the command line.
1.1 deraadt 194: .It Ic load
195: Print the load average over the past 1, 5, and 15 minutes
196: on the command line.
1.52 jmc 197: .It Ic quit
1.73 ! jmc 198: Quit
1.61 jmc 199: .Nm .
1.52 jmc 200: (This may be abbreviated to
201: .Ic q . )
1.1 deraadt 202: .It Ic stop
203: Stop refreshing the screen.
204: .It Xo
205: .Op Ic start
206: .Op Ar number
207: .Xc
1.16 aaron 208: Start (continue) refreshing the screen.
209: If a second, numeric,
1.1 deraadt 210: argument is provided it is interpreted as a refresh interval
211: (in seconds).
212: Supplying only a number will set the refresh interval to this
213: value.
214: .El
215: .Pp
1.73 ! jmc 216: .Ar view
1.53 jmc 217: may be abbreviated to the minimum unambiguous prefix.
1.73 ! jmc 218: The available views are:
1.52 jmc 219: .Bl -tag -width "netstatXXX"
1.71 canacar 220: .It Ic buckets
221: Display kernel
222: .Xr malloc 9
223: bucket statistics similar to the output of
224: .Cm vmstat Fl m .
1.52 jmc 225: .It Ic ifstat
1.73 ! jmc 226: Display interface statistics.
1.52 jmc 227: The
228: .Dq State
229: column has the format
230: .Sm off
231: .Xo
232: .Cm up \*(Ba dn
233: .Bq : Cm U \*(Ba D .
234: .Xc
235: .Sm on
236: .Sq up
237: and
238: .Sq dn
239: represent whether the interface is up or down.
240: .Sq U
241: and
242: .Sq D
243: represent whether the interface is connected or not;
244: in the case of
245: .Xr carp 4
246: interfaces, whether the interface is in master or backup state, respectively.
247: See below for more options.
248: .It Ic iostat
1.73 ! jmc 249: Display statistics about disk throughput.
1.52 jmc 250: Statistics
251: on disk throughput show, for each drive, data transferred in kilobytes,
252: number of disk transactions performed, and time spent in disk accesses
1.56 otto 253: (in fractions of a second).
1.71 canacar 254: .It Ic malloc
255: Display kernel
256: .Xr malloc 9
257: type statistics similar to the output of
258: .Cm vmstat Fl m .
259: Available orderings are:
260: .Ic name ,
261: .Ic inuse ,
262: .Ic memuse ,
263: and
264: .Ic requests .
1.72 jmc 265: .It Ic mbufs
1.73 ! jmc 266: Display the number of mbufs allocated
! 267: for particular uses,
! 268: such as data and socket structures.
1.52 jmc 269: .It Ic netstat
1.73 ! jmc 270: Display network connections.
1.52 jmc 271: By default, network servers awaiting requests are not displayed.
272: Each address
273: is displayed in the format
274: .Dq host.port ,
275: with each shown symbolically, when possible.
276: It is possible to have addresses displayed numerically,
277: limit the display to a set of ports, hosts, and/or protocols
278: (the minimum unambiguous prefix may be supplied):
279: .Bl -tag -width Ar
280: .It Cm all
281: Toggle the displaying of server processes awaiting requests (this
282: is the equivalent of the
283: .Fl a
284: flag to
285: .Xr netstat 1 ) .
286: .It Cm display Op Ar items
287: Display information about the connections associated with the
288: specified hosts or ports.
289: As for
290: .Ar ignore ,
291: .Ar items
292: may be names or numbers.
293: .It Cm ignore Op Ar items
294: Do not display information about connections associated with
295: the specified hosts or ports.
296: Hosts and ports may be specified
297: by name
298: .Pf ( Dq vangogh ,
299: .Dq ftp ) ,
300: or numerically.
301: Host addresses
302: use the Internet dot notation
303: .Pq Dq 128.32.0.9 .
304: Multiple items
305: may be specified with a single command by separating them with
306: spaces.
307: .It Cm names
308: Display network addresses symbolically.
309: .It Cm numbers
310: Display network addresses numerically.
311: .It Cm reset
312: Reset the port, host, and protocol matching mechanisms to the default
313: (any protocol, port, or host).
1.63 sobrado 314: .It Cm show Oo
315: .Ar protocols \*(Ba ports \*(Ba hosts
316: .Oc
1.52 jmc 317: Show, on the command line, the currently selected protocols,
318: hosts, and ports.
1.55 moritz 319: Protocols, hosts and ports which are being ignored are prefixed with a
1.52 jmc 320: .Ql \&! .
1.55 moritz 321: If an argument is supplied to
1.52 jmc 322: .Cm show ,
323: then only the requested information will be displayed.
1.55 moritz 324: .It Cm tcp \*(Ba udp \*(Ba all
325: Display only network connections using the indicated protocol.
1.52 jmc 326: .El
1.62 matthieu 327: .It Ic pf
1.64 jmc 328: Display filter information about
1.62 matthieu 329: .Xr pf 4 ,
330: similar to the output of
1.64 jmc 331: .Cm pfctl Fl s Cm info
1.62 matthieu 332: option.
1.1 deraadt 333: .It Ic pigs
1.73 ! jmc 334: Display those processes resident in main
1.1 deraadt 335: memory and getting the
1.73 ! jmc 336: largest portion of the processor.
1.1 deraadt 337: When less than 100% of the
338: processor is scheduled to user processes, the remaining time
1.13 aaron 339: is accounted to the
340: .Dq idle
341: process.
1.68 canacar 342: .It Ic pool
343: Display kernel
344: .Xr pool 9
345: statistics similar to the output of
346: .Cm vmstat Fl m .
1.69 canacar 347: Available orderings are:
348: .Ic name
349: and
350: .Ic requests .
1.62 matthieu 351: .It Ic queues
1.64 jmc 352: Display statistics about the active
353: .Xr altq 9
354: queues, similar to the output of
1.62 matthieu 355: .Cm pfctl Fl s Cm queue .
356: .It Ic rules
1.64 jmc 357: Display pf rules statistics, similar to the output of
1.62 matthieu 358: .Cm pfctl Fl s Cm rules .
1.52 jmc 359: .It Ic sensors
1.73 ! jmc 360: Display the current values of available hardware sensors,
1.52 jmc 361: in a format similar to that of
362: .Xr sysctl 8 .
1.62 matthieu 363: .It Ic states
1.64 jmc 364: Display pf states statistics, similar to the output of
1.62 matthieu 365: .Cm pfctl Fl s Cm states .
1.69 canacar 366: Available orderings are:
367: .Ic none ,
368: .Ic bytes ,
369: .Ic expiry ,
370: .Ic packets ,
371: .Ic age ,
372: .Ic source address ,
373: .Ic source port ,
374: .Ic destination address ,
375: .Ic destination port ,
376: .Ic rate ,
377: and
378: .Ic peak
379: columns.
1.1 deraadt 380: .It Ic swap
1.12 aaron 381: Show information about swap space usage on all the
1.1 deraadt 382: swap areas compiled into the kernel.
383: The first column is the device name of the partition.
384: The next column is the total space available in the partition.
1.12 aaron 385: The
1.1 deraadt 386: .Ar Used
387: column indicates the total blocks used so far;
388: the graph shows the percentage of space in use on each partition.
1.8 aaron 389: If there is more than one swap partition in use,
1.1 deraadt 390: a total line is also shown.
1.8 aaron 391: Areas known to the kernel but not in use are shown as not available.
1.1 deraadt 392: .It Ic vmstat
393: Take over the entire display and show a (rather crowded) compendium
394: of statistics related to virtual memory usage, process scheduling,
1.60 jmc 395: device interrupts, system name translation caching, disk I/O etc.
1.73 ! jmc 396: This view is the default.
1.1 deraadt 397: .Pp
398: The upper left quadrant of the screen shows the number
1.8 aaron 399: of users logged in and the load average over the last 1, 5,
400: and 15 minute intervals.
1.1 deraadt 401: Below this line are statistics on memory utilization.
402: The first row of the table reports memory usage only among
1.8 aaron 403: active processes, that is, processes that have run in the previous
1.1 deraadt 404: twenty seconds.
405: The second row reports on memory usage of all processes.
1.47 millert 406: The first column reports on the amount of physical memory
1.1 deraadt 407: claimed by processes.
1.29 jmc 408: The second column reports the same figure for
1.47 millert 409: virtual memory, that is, the amount of memory that would be
410: needed if all processes were resident at the same time.
411: Finally, the last column shows the amount of physical memory
1.1 deraadt 412: on the free list.
413: .Pp
1.5 flipk 414: Below the memory display is a list of the average number of processes
1.13 aaron 415: (over the last refresh interval) that are runnable
416: .Pq Sq r ,
417: in disk wait other than paging
418: .Pq Sq d ,
419: sleeping
420: .Pq Sq s ,
421: and swapped out but desiring to run
422: .Pq Sq w .
1.1 deraadt 423: Below the queue length listing is a numerical listing and
424: a bar graph showing the amount of
1.40 dlg 425: interrupt (shown as
1.63 sobrado 426: .Ql \*(Ba ) ,
1.16 aaron 427: system (shown as
428: .Ql = ) ,
429: user (shown as
1.43 jmc 430: .Ql \*(Gt ) ,
1.16 aaron 431: nice (shown as
432: .Ql - ) ,
433: and idle time (shown as
1.29 jmc 434: .Ql \ \& ) .
1.1 deraadt 435: .Pp
1.12 aaron 436: To the right of the Proc display are statistics about
1.16 aaron 437: Context switches
438: .Pq Dq Csw ,
439: Traps
440: .Pq Dq Trp ,
441: Syscalls
442: .Pq Dq Sys ,
443: Interrupts
444: .Pq Dq Int ,
445: Soft interrupts
446: .Pq Dq Sof ,
447: and Faults
448: .Pq Dq Flt
1.7 deraadt 449: which have occurred during the last refresh interval.
1.5 flipk 450: .Pp
451: Below the CPU Usage graph are statistics on name translations.
1.1 deraadt 452: It lists the number of names translated in the previous interval,
453: the number and percentage of the translations that were
454: handled by the system wide name translation cache, and
455: the number and percentage of the translations that were
456: handled by the per process name translation cache.
457: .Pp
1.5 flipk 458: At the bottom left is the disk usage display.
459: It reports the number of seeks, transfers, number
460: of kilobyte blocks transferred per second averaged over the
461: refresh period of the display (by default, five seconds), and
462: the time spent in disk accesses.
463: .Pp
1.1 deraadt 464: Under the date in the upper right hand quadrant are statistics
465: on paging and swapping activity.
466: The first two columns report the average number of pages
467: brought in and out per second over the last refresh interval
468: due to page faults and the paging daemon.
469: The third and fourth columns report the average number of pages
470: brought in and out per second over the last refresh interval
471: due to swap requests initiated by the scheduler.
472: The first row of the display shows the average
1.8 aaron 473: number of disk transfers per second over the last refresh interval.
474: The second row of the display shows the average
1.1 deraadt 475: number of pages transferred per second over the last refresh interval.
476: .Pp
477: Running down the right hand side of the display is a breakdown
478: of the interrupts being handled by the system.
479: At the top of the list is the total interrupts per second
480: over the time interval.
481: The rest of the column breaks down the total on a device
482: by device basis.
483: Only devices that have interrupted at least once since boot time are shown.
1.5 flipk 484: .Pp
485: Below the SWAPPING display and slightly to the left of the Interrupts
1.18 aaron 486: display is a list of virtual memory statistics.
487: The abbreviations are:
1.36 jmc 488: .Pp
1.38 niallo 489: .Bl -tag -compact -width "kmapentXX" -offset indent
1.21 deraadt 490: .It forks
491: process forks
492: .It fkppw
493: forks where parent waits
494: .It fksvm
495: forks where vmspace is shared
496: .It pwait
497: fault had to wait on a page
498: .It relck
499: fault relock called
500: .It rlkok
501: fault relock is successful
502: .It noram
503: faults out of ram
504: .It ndcpy
505: number of times fault clears "need copy"
506: .It fltcp
507: number of times fault promotes with copy
508: .It zfod
509: fault promotes with zerofill
1.5 flipk 510: .It cow
1.21 deraadt 511: number of times fault anon cow
512: .It fmin
513: min number of free pages
514: .It ftarg
515: target number of free pages
516: .It itarg
517: target number of inactive pages
518: .It wired
519: wired pages
1.25 deraadt 520: .It pdfre
1.21 deraadt 521: pages daemon freed since boot
522: .It pdscn
523: pages daemon scanned since boot
1.38 niallo 524: .It pzidle
525: number of zeroed pages
526: .It kmapent
527: number of kernel map entries
1.5 flipk 528: .El
529: .Pp
1.13 aaron 530: The
531: .Ql %zfod
532: value is more interesting when observed over a long
1.5 flipk 533: period, such as from boot time (see the
534: .Cm boot
535: option below).
1.35 markus 536: .El
537: .Pp
538: The following commands are specific to the
539: .Ic vmstat
540: and
541: .Ic ifstat
1.73 ! jmc 542: views; the minimum unambiguous prefix may be supplied.
1.35 markus 543: .Pp
544: .Bl -tag -width Ds -compact
545: .It Cm boot
546: Display cumulative statistics since the system was booted.
547: .It Cm run
548: Display statistics as a running total from the point this
549: command is given.
550: .It Cm time
551: Display statistics averaged over the refresh interval (the default).
552: .It Cm zero
553: Reset running statistics to zero.
1.1 deraadt 554: .El
555: .Pp
556: Certain information may be discarded when the screen size is
1.16 aaron 557: insufficient for display.
558: For example, on a machine with 10 drives the
1.1 deraadt 559: .Ic iostat
1.16 aaron 560: bar graph displays only 3 drives on a 24 line terminal.
561: When a bar graph would overflow the allotted screen space it is
562: truncated and the actual value is printed
563: .Dq over top
564: of the bar.
1.1 deraadt 565: .Pp
1.73 ! jmc 566: The following commands are common to each view which shows
1.16 aaron 567: information about disk drives.
1.73 ! jmc 568: These commands are used to select a set of drives to report on,
! 569: should a system have more drives configured
! 570: than can normally be displayed on the screen.
1.1 deraadt 571: .Pp
572: .Bl -tag -width Tx -compact
1.54 jmc 573: .It Cm display Op Ar drives
574: Display information about the drives indicated.
575: Multiple drives may be specified, separated by spaces.
1.1 deraadt 576: .It Cm ignore Op Ar drives
1.16 aaron 577: Do not display information about the drives indicated.
578: Multiple drives may be specified, separated by spaces.
1.1 deraadt 579: .El
580: .Sh FILES
1.73 ! jmc 581: .Bl -tag -width "/etc/networksXXX" -compact
1.1 deraadt 582: .It Pa /etc/hosts
1.73 ! jmc 583: Host names.
1.1 deraadt 584: .It Pa /etc/networks
1.73 ! jmc 585: Network names.
1.62 matthieu 586: .It Pa /etc/pf.conf
1.73 ! jmc 587: .Xr pf 4
! 588: configuration.
1.1 deraadt 589: .It Pa /etc/services
1.73 ! jmc 590: Port names.
1.1 deraadt 591: .El
1.15 aaron 592: .Sh SEE ALSO
1.37 jmc 593: .Xt fstat 1 ,
1.15 aaron 594: .Xr kill 1 ,
1.37 jmc 595: .Xr netstat 1 ,
1.15 aaron 596: .Xr ps 1 ,
597: .Xr top 1 ,
1.37 jmc 598: .Xr iostat 8 ,
1.62 matthieu 599: .Xr pfctl 8 ,
1.37 jmc 600: .Xr pstat 8 ,
601: .Xr renice 8 ,
1.48 deanna 602: .Xr sysctl 8 ,
1.37 jmc 603: .Xr vmstat 8
1.1 deraadt 604: .Sh HISTORY
605: The
1.13 aaron 606: .Nm
1.73 ! jmc 607: program first appeared in
1.1 deraadt 608: .Bx 4.3 .
609: .Sh BUGS
610: Certain displays presume a minimum of 80 characters per line.
611: The
612: .Ic vmstat
613: display looks out of place because it is (it was added in as
614: a separate display rather than created as a new program).