SYSTAT(1)                  OpenBSD Reference Manual                  SYSTAT(1)

NAME
     systat - display system statistics

SYNOPSIS
     systat [-abiNn] [-d count] [-s delay] [-w width] [view] [delay]

DESCRIPTION
     systat displays various system statistics in a screen-oriented fashion
     using the curses(3) screen display library.

     While systat is running, the screen is divided into differing areas.  The
     top line depicts the current system load average.  The bottom line of the
     screen is reserved for user input and error messages.  The information
     displayed in the rest of the screen comprises a view, and is the main in-
     terface for displaying different types of system statistics.  The vmstat
     view is the default.

     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 options are as follows:

     -a      Display all lines.

     -b      Raw, non interactive mode.

     -d count
             Exit after count screen updates.

     -i      Interactive mode.

     -N      Resolve network addresses to names.  This is the opposite of the
             -n option.

     -n      Do not try to reverse map IP addresses.  This is the default.

     -s delay
             Specifies the screen refresh time interval in seconds.  This op-
             tion is overridden by the final delay argument, if given.  The
             default interval is 5 seconds.

     -w width
             Specifies the maximum width of the display.

     view    The view argument expects to be one of: vmstat, pigs, ifstat,
             iostat, sensors, mbufs, netstat, swap, states, rules, queues, pf,
             pool, malloc, buckets, nfsclient, or nfsserver.  These displays
             can also be requested interactively and are described in full de-
             tail below.  view may be abbreviated to the minimum unambiguous
             prefix; for example, ``io'' for ``iostat''.

     delay   The delay argument specifies the screen refresh time interval in
             seconds.  This is provided for backwards compatibility, and over-
             rides any interval specified with the -s flag.  The default in-
             terval is 5 seconds.

     Certain characters cause immediate action by systat.  These are:

     :           Move the cursor to the command line and interpret the input
                 line typed as a command.  While entering a command the cur-
                 rent character erase, word erase, and line kill characters
                 may be used.

     o           Select the next ordering which sorts the rows according to a
                 combination of columns.  Available orderings depend on the
                 view.  Not all views support orderings.

     p           Pause systat.

     q           Quit systat.

     r           Reverse the selected ordering if supported by the view.

     ^A | <Home>
                 Jump to the beginning of the current view.

     ^B | <right arrow>
                 Select the previous view.

     ^E | <End>  Jump to the end of the current view.

     ^F | <left arrow>
                 Select the next view.

     ^G          Print the name of the current view being shown and the re-
                 fresh interval.

     ^L          Refresh the screen.

     ^N | <down arrow>
                 Scroll current view down by one line.

     ^P | <up arrow>
                 Scroll current view up by one line.

     ^V | <Page Down>
                 Scroll current view down by one page.

     Alt-V | <Page Up>
                 Scroll current view up by one page.

     ^Z          Suspend systat.

     The following commands are interpreted by the ``global'' command inter-
     preter.

     help        Print the names of the available views on the command line.

     quit        Quit systat.  (This may be abbreviated to q.)

     stop        Stop refreshing the screen.

     [start] [number]
                 Start (continue) refreshing the screen.  If a second, numer-
                 ic, argument is provided it is interpreted as a refresh in-
                 terval (in seconds).  Supplying only a number will set the
                 refresh interval to this value.

     view may be abbreviated to the minimum unambiguous prefix.  The available
     views are:

     buckets     Display kernel malloc(9) bucket statistics similar to the
                 output of vmstat -m.

     ifstat      Display interface statistics.  The ``State'' column has the
                 format up|dn[:U|D].  `up' and `dn' represent whether the in-
                 terface is up or down.  `U' and `D' represent whether the in-
                 terface is connected or not; in the case of carp(4) inter-
                 faces, whether the interface is in master or backup state,
                 respectively.

     iostat      Display statistics about disk throughput.  Statistics on disk
                 throughput show, for each drive, data transferred in kilo-
                 bytes, number of disk transactions performed, and time spent
                 in disk accesses (in fractions of a second).

     malloc      Display kernel malloc(9) type statistics similar to the out-
                 put of vmstat -m.  Available orderings are: name, inuse,
                 memuse, and requests.

     mbufs       Display mbuf usage information from kernel pools and mbuf
                 cluster pool statistics of each network interface.

     netstat     Display network connections.  By default, network servers
                 awaiting requests are not displayed.  Each address is dis-
                 played in the format ``host:port'', with each shown symboli-
                 cally, when possible.

     nfsclient   Display statistics about NFS client activity.  Output resem-
                 bles nfsstat -c.

     nfsserver   Display statistics about NFS server activity.  Output resem-
                 bles nfsstat -s.

     pf          Display filter information about pf(4), similar to the output
                 of pfctl -s info option.

     pigs        Display those processes resident in main memory and getting
                 the largest portion of the processor.  When less than 100% of
                 the processor is scheduled to user processes, the remaining
                 time is accounted to the ``idle'' process.

     pool        Display kernel pool(9) statistics similar to the output of
                 vmstat -m.  Available orderings are: name, requests, size,
                 and number of pages.

     queues      Display statistics about the active altq(9) queues, similar
                 to the output of pfctl -s queue.

     rules       Display pf rules statistics, similar to the output of pfctl
                 -s rules.

     sensors     Display the current values of available hardware sensors, in
                 a format similar to that of sysctl(8).

     states      Display pf states statistics, similar to the output of pfctl
                 -s states.  Available orderings are: none, bytes, expiry,
                 packets, age, source address, source port, destination
                 address, destination port, rate, and peak columns.

     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 indicates the
                 total blocks used so far; the graph shows the percentage of
                 space in use on each partition.  If there is 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 avail-
                 able.

     vmstat      Take over the entire display and show a (rather crowded) com-
                 pendium of statistics related to virtual memory usage, pro-
                 cess scheduling, device interrupts, system name translation
                 caching, disk I/O, etc.  This view is the default.

                 The upper left quadrant of the screen shows the number of
                 users logged in and the load average over the last 1, 5, and
                 15 minute intervals.  Below this line are statistics on memo-
                 ry 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 re-
                 ports on memory usage of all processes.  The first column re-
                 ports on the amount of physical memory claimed by processes.
                 The second column reports the same figure for virtual memory,
                 that is, the amount of memory that would be needed if all
                 processes were resident at the same time.  Finally, the last
                 column shows the amount of physical memory on the free list.

                 Below the memory display is a list of the average number of
                 processes (over the last refresh interval) that are runnable
                 (`r'), in disk wait other than paging (`d'), sleeping (`s'),
                 and swapped out but desiring to run (`w').  Below the queue
                 length listing is a numerical listing and a bar graph showing
                 the amount of interrupt (shown as `|'), system (shown as
                 `='), user (shown as `>'), nice (shown as `-'), and idle time
                 (shown as ` ').

                 To the right of the Proc display are statistics about Context
                 switches (``Csw''), Traps (``Trp''), Syscalls (``Sys''), In-
                 terrupts (``Int''), Soft interrupts (``Sof''), and Faults
                 (``Flt'') which have occurred during the last refresh inter-
                 val.

                 Below the CPU usage graph are statistics on name transla-
                 tions.  It lists the number of names translated in the previ-
                 ous interval, the number and percentage of the translations
                 that were handled by the system wide name translation cache,
                 and the number and percentage of the translations that were
                 handled by the per process name translation cache.

                 At the bottom left is the disk usage display.  It reports the
                 number of seeks, transfers, number of kilobyte blocks trans-
                 ferred per second averaged over the refresh period of the
                 display (by default, five seconds), and the time spent in
                 disk accesses.

                 Under the date in the upper right hand quadrant are statis-
                 tics 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 aver-
                 age 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.

                 Running down the right hand side of the display is a break-
                 down of the interrupts being handled by the system.  At the
                 top of the list is the total interrupts per second over the
                 time interval.  The rest of the column breaks down the total
                 on a device by device basis.  Only devices that have inter-
                 rupted at least once since boot time are shown.

                 Below the Interrupts display is a summary of total number of
                 input packets and output packets for all interfaces.

                 Below the SWAPPING display and slightly to the left of the
                 Interrupts display is a list of virtual memory statistics.
                 The abbreviations are:

                       forks      process forks
                       fkppw      forks where parent waits
                       fksvm      forks where vmspace is shared
                       pwait      fault had to wait on a page
                       relck      fault relock called
                       rlkok      fault relock is successful
                       noram      faults out of ram
                       ndcpy      number of times fault clears "need copy"
                       fltcp      number of times fault promotes with copy
                       zfod       fault promotes with zerofill
                       cow        number of times fault anon cow
                       fmin       min number of free pages
                       ftarg      target number of free pages
                       itarg      target number of inactive pages
                       wired      wired pages
                       pdfre      pages daemon freed since boot
                       pdscn      pages daemon scanned since boot
                       pzidle     number of zeroed pages
                       kmapent    number of kernel map entries

                 The `%zfod' value is more interesting when observed over a
                 long period, such as from boot time.

FILES
     /etc/hosts        Host names.
     /etc/networks     Network names.
     /etc/pf.conf      pf(4) configuration.
     /etc/services     Port names.

SEE ALSO
     fstat(1), kill(1), netstat(1), nfsstat(1), ps(1), top(1), iostat(8),
     pfctl(8), pstat(8), renice(8), sysctl(8), vmstat(8)

HISTORY
     The systat program first appeared in 4.3BSD.

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).

OpenBSD 4.7                     March 13, 2010                               5
