systat(1)
NAME
systat - display system statistics on a crt
SYNOPSIS
systat [-display] [refresh-interval]
DESCRIPTION
- The systat utility displays various system statistics in a
- screen oriented fashion using the curses screen display library,
- ncurses(3).
- While systat is running the screen is usually divided into
- two windows (an exception is the vmstat display which uses the entire
- screen). The upper window depicts the current system load average. The
- information displayed in the lower window may vary, depending on user
- commands. The last line on the screen is reserved for user input and error
- messages.
- By default systat displays the processes getting the largest
- percentage of the processor in the lower window. Other displays show
- swap space usage, disk I/O statistics (a la iostat(8)), virtual memory
- statistics (a la vmstat(8)), network ``mbuf'' utilization, TCP/IP statis
- tics, and network connections (a la netstat(1)).
- Input is interpreted at two different levels. A ``global''
- command interpreter processes all keyboard input. If this command
- interpreter fails to recognize a command, the input line is passed to a
- per-display command interpreter. This allows each display to have cer
- tain displayspecific commands.
- Command line options:
- -display The - flag expects display to be one of:
- icmp, icmp6,
- ifstat, iostat, ip, ip6, mbufs, netstat,
- pigs, swap, tcp, or vmstat. These displays can also
- be requested interactively (without the ``-'') and are
- described in full detail below.
- refresh-interval The refresh-value specifies the screen re
- fresh time
- interval in seconds.
- Certain characters cause immediate action by systat. These
- are
- ^L Refresh the screen.
- ^G Print the name of the current ``display'' being
- shown in the
- lower window and the refresh interval.
- : Move the cursor to the command line and inter
- pret the input
- line typed as a command. While entering a com
- mand the current character erase, word erase, and line kill
- characters may be used.
- The following commands are interpreted by the ``global''
- command interpreter.
- help Print the names of the available displays on the
- command
- line.
- load Print the load average over the past 1, 5, and
- 15 minutes on
- the command line.
- stop Stop refreshing the screen.
- [start] [number]
- Start (continue) refreshing the screen. If a
- second, numeric, argument is provided it is interpreted
- as a refresh interval (in seconds). Supplying only a number
- will set the refresh interval to this value.
- quit Exit systat. (This may be abbreviated to q.)
- The available displays are:
- pigs Display, in the lower window, those processes
- resident in
- main memory and getting the largest portion of
- the processor (the default display). When less than 100% of
- the processor is scheduled to user processes, the remaining
- time is accounted to the ``idle'' process.
- icmp Display, in the lower window, statistics about
- messages
- received and transmitted by the Internet Control
- Message Protocol (``ICMP''). The left half of the screen
- displays information about received packets, and the
- right half displays information regarding transmitted packets.
- The icmp display understands two commands: mode
- and reset. The mode command is used to select one of four
- display modes, given as its argument: rate: show the rate of change of each val
- ue in packets
(the default) per second
- delta: show the rate of change of each val
- ue in packets
per refresh interval
- since: show the total change of each value
- since the
display was last reset
- absolute: show the absolute value of each
- statistic
- The reset command resets the baseline for since
- mode. The mode command with no argument will display the
- current mode in the command line.
- icmp6 This display is like the icmp display, but dis
- plays statis
- tics for IPv6 ICMP.
- ip Otherwise identical to the icmp display, except
- that it dis
- plays IP and UDP statistics.
- ip6 Like the ip display, except that it displays
- IPv6 statics.
- It does not display UDP statistics.
- tcp Like icmp, but with TCP statistics.
- iostat Display, in the lower window, statistics about
- processor use
- and disk throughput. Statistics on processor
- use appear as bar graphs of the amount of time executing in
- user mode (``user''), in user mode running low priority
- processes (``nice''), in system mode (``system''), in in
- terrupt mode (``interrupt''), and idle (``idle''). Statis
- tics on disk throughput show, for each drive, megabytes per
- second, average number of disk transactions per second, and
- average kilobytes of data per transaction. This information
- may be displayed as bar graphs or as rows of numbers which
- scroll downward. Bar graphs are shown by default.
- The following commands are specific to the
- iostat display; the minimum unambiguous prefix may be supplied.
- numbers Show the disk I/O statistics in nu
- meric form.
Values are displayed in numericcolumns which scroll downward.
- bars Show the disk I/O statistics in bar
- graph form
(default).
- kbpt Toggle the display of kilobytes per
- transaction.
(the default is to not display kilobytes per transaction).
- swap Show information about swap space usage on all
- the swap areas
- compiled into the kernel. The first column is
- the device name of the partition. The next column is the
- total space available in the partition. The Used column in
- dicates the total blocks used so far; the graph shows the
- percentage of space in use on each partition. If there are
- more than one swap partition in use, a total line is also
- shown. Areas known to the kernel, but not in use are shown as
- not available.
- mbufs Display, in the lower window, the number of
- mbufs allocated
- for particular uses, i.e., data, socket struc
- tures, etc.
- vmstat Take over the entire display and show a (rather
- crowded) com
- pendium of statistics related to virtual memory
- usage, process scheduling, device interrupts, system name
- translation caching, disk I/O etc.
- The upper left quadrant of the screen shows the
- number of users logged in and the load average over the
- last one, five, and fifteen minute intervals. Below this line
- are statistics on memory utilization. The first row of the
- table reports memory usage only among active processes, that
- is processes that have run in the previous twenty seconds.
- The second row reports on memory usage of all processes. The
- first column reports on the number of physical pages claimed
- by processes. The second column reports the number of physical
- pages that are devoted to read only text pages. The third
- and fourth columns report the same two figures for virtual
- pages, that is the number of pages that would be needed if
- all processes had all of their pages. Finally the last column
- shows the number of physical pages on the free list.
- Below the memory display is a list of the aver
- age number of processes (over the last refresh interval) that
- are runnable (`r'), in page wait (`p'), in disk wait other
- than paging (`d'), sleeping (`s'), and swapped out but de
- siring to run (`w'). The row also shows the average number of
- context switches (`Csw'), traps (`Trp'; includes page
- faults), system calls (`Sys'), interrupts (`Int'), network soft
- ware interrupts (`Sof'), and page faults (`Flt').
- Below the process queue length listing is a nu
- merical listing and a bar graph showing the amount of system
- (shown as `='), interrupt (shown as `+'), user (shown as `>'),
- nice (shown as `-'), and idle time (shown as ` ').
- Below the process display are statistics on name
- translations. It lists the number of names translated
- in the previous interval, the number and percentage of the
- translations that were handled by the system wide name trans
- lation cache, and the number and percentage of the transla
- tions that were handled by the per process name translation
- cache.
- At the bottom left is the disk usage display.
- It reports the number of kilobytes per transaction, transac
- tions per second, megabytes per second and the percentage of the
- time the disk was busy averaged over the refresh period of the
- display (by default, five seconds). The system keeps
- statistics on most every storage device. In general, up to seven
- devices are displayed. The devices displayed by default are
- the first devices in the kernel's device list. See devs
- tat(3) and devstat(9) for details on the devstat system.
- Under the date in the upper right hand quadrant
- are statistics on paging and swapping activity. The first
- two columns report the average number of pages brought in
- and out per second over the last refresh interval due to
- page faults and the paging daemon. The third and fourth columns
- report the average number of pages brought in and out per
- second over the last refresh interval due to swap requests
- initiated by the scheduler. The first row of the display
- shows the average number of disk transfers per second over the
- last refresh interval; the second row of the display shows
- the average number of pages transferred per second over the
- last refresh interval.
- Below the paging statistics is a column of lines
- regarding the virtual memory system which list the average
- number of pages copied on write (`cow'), pages zero filled
- on demand (`zfod'), pages optimize zero filled on demand
- (`ozfod'), slow (on-the-fly) zero fills percentage (`%slo
- z'), pages wired down (`wire'), active pages (`act'), inac
- tive pages (`inact'), pages on the buffer cache queue
- (`cache'), number of free pages (`free'), pages freed by the page
- daemon (`daefr'), pages freed by exiting processes
- (`prcfr'), pages reactivated from the free list (`react'), times
- the page daemon was awakened (`pdwak'), pages analyzed by
- the page daemon (`pdpgs'), and intransit blocking page faults
- (`intrn') per second over the refresh interval.
- At the bottom of this column are lines showing
- the amount of memory, in kilobytes, used for the buffer cache
- (`buf'), the number of dirty buffers in the buffer cache
- (`dirtybuf'), desired maximum size of vnode cache (`desiredvn
- odes') (mostly unused, except to size the name cache), number
- of vnodes actually allocated (`numvnodes'), and number of
- allocated vnodes that are free (`freevnodes').
- Running down the right hand side of the display
- is a breakdown of the interrupts being handled by the sys
- tem. At the top of the list is the total interrupts per sec
- ond over the time interval. The rest of the column breaks
- down the total on a device by device basis. Only devices that
- have interrupted at least once since boot time are shown.
- The following commands are specific to the
- vmstat display; the minimum unambiguous prefix may be supplied.
- boot Display cumulative statistics
- since the system
was booted.
- run Display statistics as a running
- total from the
point this command is given.
- time Display statistics averaged over
- the refresh
interval (the default).
- want_fd Toggle the display of fd devices
- in the disk
usage display.
- zero Reset running statistics to zero.
- netstat Display, in the lower window, network connec
- tions. By
- default, network servers awaiting requests are
- not displayed. Each address is displayed in the format
- ``host.port'', with each shown symbolically, when possible. It is
- possible to have addresses displayed numerically, limit the
- display to a set of ports, hosts, and/or protocols (the mini
- mum unambiguous prefix may be supplied):
- all Toggle the displaying of server
- processes
awaiting requests (this is theequivalent of the -a flag to netstat(1)).
- numbers Display network addresses numeri
- cally. names Display network addresses symboli
- cally.
proto protocol
Display only network connectionsusing the indicated protocol. Supportedprotocols are ``tcp'', ``udp'', and ``all''.
- ignore [items]
Do not display information aboutconnections associated with the specifiedhosts or ports. Hosts and ports may be specifiedby name (``vangogh'', ``ftp''), or numerically. Host addresses use the Internet dot notation (``128.32.0.9''). Multiple itemsmay be specified with a single command by separating them with spaces.
- display [items]
Display information about the connections associated with the specified hosts orports. As for ignore, [items] may be namesor numbers.
- show [ports|hosts]
Show, on the command line, thecurrently selected protocols, hosts, andports. Hosts and ports which are being ignoredare prefixed with a `!'. If ports or hosts issupplied as an argument to show, then only therequested information will be displayed.
- reset Reset the port, host, and protocol
- matching
mechanisms to the default (anyprotocol, port, or host).
- ifstat Display the network traffic going through active
- interfaces
- on the system. Idle interfaces will not be dis
- played until they receive some traffic.
- For each interface being displayed, the current,
- peak and total statistics are displayed for incoming and
- outgoing traffic. By default, the ifstat display will
- automatically scale the units being used so that they are in a
- human-readable format. The scaling units used for the
- current and peak traffic columns can be altered by the scale com
- mand.
- scale [units] Modify the scale used to
- display the
current and peak trafficover all interfaces. The following units are recognised: kbit, kbyte,mbit, mbyte, gbit, gbyte and auto.
- Commands to switch between displays may be abbreviated to
- the minimum unambiguous prefix; for example, ``io'' for ``iostat''.
- Certain information may be discarded when the screen size is insufficient
- for display. For example, on a machine with 10 drives the iostat bar
- graph displays only 3 drives on a 24 line terminal. When a bar graph would
- overflow the allotted screen space it is truncated and the actual value
- is printed ``over top'' of the bar.
- The following commands are common to each display which
- shows information about disk drives. These commands are used to select a set
- of drives to report on, should your system have more drives configured
- than can normally be displayed on the screen.
- ignore [drives]
- Do not display information about the drives
- indicated. Multiple drives may be specified, separated by
- spaces.
- display [drives]
- Display information about the drives indicat
- ed. Multiple drives may be specified, separated by spaces.
- only [drives]
- Display only the specified drives. Multiple
- drives may be specified, separated by spaces.
- drives Display a list of available devices. match type,if,pass [| ...]
- Display devices matching the given pattern.
- The basic matching expressions are the same as those
- used in iostat(8) with one difference. Instead of
- specifying multiple -t arguments which are then ORed togeth
- er, the user instead specifies multiple matching expres
- sions joined by the pipe (`|') character. The comma separated
- arguments within each matching expression are ANDed to
- gether, and then the pipe separated matching expressions
- are ORed together. Any device matching the combined
- expression will be displayed, if there is room to display it.
- For example:
match da,scsi | cd,ide
- This will display all SCSI Direct Access de
- vices and all
IDE CDROM devices.
match da | sa | cd,pass
- This will display all Direct Access devices,
- all Sequential Access devices, and all passthrough devices
- that provide access to CDROM drives.
FILES
/boot/kernel/kernel For the namelist.
/dev/kmem For information in main memory. /etc/hosts For host names. /etc/networks For network names. /etc/services For port names.SEE ALSO
- netstat(1), kvm(3), icmp(4), icmp6(4), ip(4), ip6(4),
- tcp(4), udp(4), gstat(8), iostat(8), vmstat(8)
HISTORY
- The systat program appeared in 4.3BSD. The icmp, ip, and
- tcp displays appeared in FreeBSD 3.0; the notion of having different dis
- play modes for the ICMP, IP, TCP, and UDP statistics was stolen from the -C
- option to netstat(1) in Silicon Graphics' IRIX system.
BUGS
- Certain displays presume a minimum of 80 characters per
- line. The vmstat display looks out of place because it is (it was added in as
- a separate display rather than created as a new program).
- BSD September 9, 1997