SYSTAT(1)                   General Commands Manual                  SYSTAT(1)


     systat - display system statistics


     systat [-aBbiNn] [-d count] [-s delay] [-w width] [view] [delay]


     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 different areas.  The
     top line displays the current number of users, the three system load
     average figures over the last 1, 5, and 15 minute intervals, and the
     system time.  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 interface 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.

     The options are as follows:

     -a      Display all lines.

     -B      Raw, non-interactive mode.  The default is to exit after two
             screen updates, with statistics only ever displayed once.  Useful
             for views such as cpu, where initial calculations are useless.

     -b      Raw, non-interactive mode.  The default is to exit after one
             screen update, with statistics displayed every update.

     -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
             option is overridden by the final delay argument, if given.  The
             default interval is 5 seconds.

     -w width
             Specifies the maximum width of the output in raw, non-interactive

     view    The view argument expects to be one of: vmstat, pigs, ifstat,
             iostat, sensors, mbufs, netstat, swap, states, rules, queues, pf,
             pool, pcache, malloc, buckets, nfsclient, nfsserver, cpu, or uvm.
             These displays can also be requested interactively and are
             described in full detail 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
             overrides any interval specified with the -s flag.  The default
             interval 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
                 current 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.

     ,           Print numbers with thousand separators, where applicable.

     ^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
                 refresh 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

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

     order       Print the names of the available orderings on the command

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

     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.

     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.

     cpu         Display information about the average usage of each CPU,
                 similar to the output provided by top(1).

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

                 The character B changes the counter view between bytes and
                 bits.  Pressing b displays statistics as calculated from boot
                 time.  r changes the counters to show their totals as
                 calculated between display refreshes.  t changes the counters
                 to show the average per second over the display refresh
                 interval; this is the default.

     iostat      Display statistics about disk throughput.  Statistics on disk
                 throughput show, for each drive, data transferred in 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
                 output 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.  Each address is displayed
                 numerically in the format "host:port".  By default, network
                 servers awaiting requests are not displayed.  It is also
                 possible to have addresses displayed symbolically, when
                 possible, and limit the display to a set of protocols (the
                 minimum unambiguous prefix may be supplied):

                 all           Toggle the displaying of server processes
                               awaiting requests (this is the equivalent of
                               the -a flag to netstat(1)).

                 names         Display network addresses symbolically.

                 numbers       Display network addresses numerically.

                 reset         Reset matching mechanisms to the default.

                 tcp | udp | other
                               Display only network connections using the
                               indicated protocol.

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

     nfsserver   Display statistics about NFS server activity.  Output
                 resembles 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.

                 By default only the statistics of active pools are displayed
                 but pressing A changes the view to show all of them.

     pcache      Display kernel pool(9) per CPU cache statistics.  Ordering is
                 available on all columns.

     queues      Display statistics about the active 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

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

                 Below the top 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 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 `|'), spinning (shown as
                 `@'), system (shown as `='), user plus 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"), Interrupts
                 ("Int"), Soft interrupts ("Sof"), and Faults ("Flt") which
                 have occurred during the last refresh interval.

                 Below the CPU usage graph 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
                 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
                 transferred per second averaged over the refresh period of
                 the display, and the time spent in disk accesses.

                 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.

                 Running down the right hand side of the display is a
                 breakdown 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
                 interrupted at least once since boot time are shown.

                 Below the Interrupts display are the average number of input
                 and output packets per second for all interfaces over the
                 last refresh interval.

                 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
                       pzidl      number of zeroed pages
                       kmape      number of kernel map entries

     uvm         Display statistics relevant to the UVM subsystem.  The
                 statistics are divided into eight groups.

                       Page Counters:
                       npages              pages managed by UVM
                       free                free pages
                       active              active pages
                       inactive            freed pages that may be wanted back
                       paging              pages in the process of being paged
                       wired               wired pages
                       zeropages           zero'd pages
                       reserve_pagedaemon  pages reserved for pagedaemon
                       reserve_kernel      pages reserved for kernel.
                       vnodepages          pages used by vnode page cache
                       vtextpages          pages used by vtext vnodes

                       Stats Counters:
                       faults              page fault count
                       traps               trap count
                       intrs               interrupt count
                       swtch               context switch count
                       softs               software interrupt count
                       syscalls            system calls
                       pageins             pagein operation count
                       pgswapin            pages swapped in
                       pgswapout           pages swapped out
                       forks               forks.
                       forks_ppwait        forks where parent waits
                       forks_sharevm       forks where vmspace is shared
                       pga_zerohit         pagealloc found requested zero'd
                       pga_zeromiss        pagealloc failed to obtain zero'd

                       Fault Counters:
                       fltnoram            fault was out of ram
                       fltnoanon           fault was out of anons
                       fltnoamap           fault was out of amap chunks
                       fltpgwait           fault had to wait on a page
                       fltpgrele           fault found a released page
                       fltrelck            fault relock called
                       fltrelckok          fault relock was a success
                       fltanget            fault got anon page
                       fltanretry          fault retried an anon get
                       fltamcopy           fault cleared "needs copy"
                       fltnamap            fault mapped a neighbor anon page
                       fltnomap            fault mapped a neighbor obj page
                       fltlget             fault did a locked pgo_get
                       fltget              fault did an unlocked get
                       flt_anon            fault anon (case 1a)
                       flt_acow            fault anon cow (case 1b)
                       flt_obj             fault was on object page (2a)
                       flt_prcopy          fault promotes with copy (2b)
                       flt_przero          fault promotes with zerofill (2b)

                       Pageout Params:
                       freemin             minimum number of free pages
                       freetarg            target number of free pages
                       inactarg            target number of inactive pages
                       wiredmax            maximum number of wired pages
                       anonmin             mininumu threshold for anon pages
                       vtextmin            minimum threshold for vtext pages
                       vnodemin            minimum threshold for vnode pages
                       anonminpct          minimum percent anon pages
                       vtextminpct         minimum percent vtext pages
                       vnodeminpct         minimum percent vnode pages

                       Swap Counters:
                       nswapdev            configured swap devices
                       swpages             PAGE_SIZE'ed swap pages
                       swpginuse           swap pages in use
                       swpgonly            in use swap pages not in RAM
                       nswget              fault called uvm_swap_get()
                       nanon               total anon's

                       Daemon Counters:
                       pdwoke              times daemon woke up
                       pdrevs              times daemon rev'd clock hand
                       pdswout             times daemon called for swapout
                       pdfreed             pages daemon freed since boot
                       pdscans             pages daemon scanned since boot
                       pdanscan            anonymous pages scanned by daemon
                       pdobscan            object pages scanned by daemon
                       pdreact             pages daemon reactivated since boot
                       pdbusy              times daemon found a busy page
                       pdpageouts          times daemon started a pageout
                       pdpending           times daemon got a pending pagout
                       pddeact             pages daemon deactivates

                       Misc Counters:
                       fpswtch             FPU context switches
                       kmapent             kernel map entries

                       pagesize            size of a page, always a power of 2
                       pagemask            page mask
                       pageshift           page shift


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


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


     The systat program first appeared in 4.3BSD.


     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 6.4                      July 25, 2018                     OpenBSD 6.4

[Unix Hosting | Open-Source | Contact Us]
[Engineering & Automation | Software Development | Server Applications]