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 protocolDisplay 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