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