mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-16 10:20:30 +00:00
3544ae54e2
Use the correct value of hz (stathz if it is nonzero) for interpretion of dk_time[] and cp_time[] in iostat.c. Avoid multiple conversions of this value in iostat.c and vmstat.c iostat.c: Implement the display of cp_time[CP_INTR]. Fix the display of cp_time[CP_IDLE] (the display was always null because cp_time[CP_INTR] == 0 was displayed instead). systat.1: Document the display of cp_time[CP_INTR]. vmstat.c: Implement the display of cp_time[CP_INTR].
425 lines
15 KiB
Groff
425 lines
15 KiB
Groff
.\" Copyright (c) 1985, 1990, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)systat.1 8.2 (Berkeley) 12/30/93
|
|
.\"
|
|
.Dd December 30, 1993
|
|
.Dt SYSTAT 1
|
|
.Os BSD 4.3
|
|
.Sh NAME
|
|
.Nm systat
|
|
.Nd display system statistics on a crt
|
|
.Sh SYNOPSIS
|
|
.Nm systat
|
|
.Op Fl display
|
|
.Op Ar refresh-interval
|
|
.Sh DESCRIPTION
|
|
.Nm Systat
|
|
displays various system statistics in a screen oriented fashion
|
|
using the curses screen display library,
|
|
.Xr curses 3 .
|
|
.Pp
|
|
While
|
|
.Nm 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.
|
|
.Pp
|
|
By default
|
|
.Nm systat
|
|
displays the processes getting the largest percentage of the processor
|
|
in the lower window. Other displays show swap space usage, disk
|
|
.Tn I/O
|
|
statistics (a la
|
|
.Xr iostat 1 ) ,
|
|
virtual memory statistics (a la
|
|
.Xr vmstat 1 ) ,
|
|
network ``mbuf'' utilization, and network connections (a la
|
|
.Xr netstat 1 ) .
|
|
.Pp
|
|
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 certain display-specific commands.
|
|
.Pp
|
|
Command line options:
|
|
.Bl -tag -width "refresh_interval"
|
|
.It Fl Ns Ar display
|
|
The
|
|
.Fl
|
|
flag expects
|
|
.Ar display
|
|
to be one of:
|
|
.Ic pigs ,
|
|
.Ic iostat ,
|
|
.Ic swap ,
|
|
.Ic mbufs ,
|
|
.Ic vmstat
|
|
or
|
|
.Ic netstat .
|
|
These displays can also be requested interactively (without the
|
|
.Dq Fl )
|
|
and are described in
|
|
full detail below.
|
|
.It Ar refresh-interval
|
|
The
|
|
.Ar refresh-value
|
|
specifies the screen refresh time interval in seconds.
|
|
.El
|
|
.Pp
|
|
Certain characters cause immediate action by
|
|
.Nm systat .
|
|
These are
|
|
.Bl -tag -width Fl
|
|
.It Ic \&^L
|
|
Refresh the screen.
|
|
.It Ic \&^G
|
|
Print the name of the current ``display'' being shown in
|
|
the lower window and the refresh interval.
|
|
.It Ic \&^Z
|
|
Stop
|
|
.Nm systat .
|
|
.It Ic \&:
|
|
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.
|
|
.El
|
|
.Pp
|
|
The following commands are interpreted by the ``global''
|
|
command interpreter.
|
|
.Bl -tag -width Fl
|
|
.It Ic help
|
|
Print the names of the available displays on the command line.
|
|
.It Ic load
|
|
Print the load average over the past 1, 5, and 15 minutes
|
|
on the command line.
|
|
.It Ic stop
|
|
Stop refreshing the screen.
|
|
.It Xo
|
|
.Op Ic start
|
|
.Op Ar number
|
|
.Xc
|
|
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.
|
|
.It Ic quit
|
|
Exit
|
|
.Nm systat .
|
|
(This may be abbreviated to
|
|
.Ic q . )
|
|
.El
|
|
.Pp
|
|
The available displays are:
|
|
.Bl -tag -width Ic
|
|
.It Ic 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.
|
|
.It Ic 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 interrupt mode (``interrupt''),
|
|
and idle (``idle''). Statistics
|
|
on disk throughput show, for each drive, kilobytes of data transferred,
|
|
number of disk transactions performed, and average seek time
|
|
(in milliseconds). This information may be displayed as
|
|
bar graphs or as rows of numbers which scroll downward. Bar
|
|
graphs are shown by default;
|
|
.Pp
|
|
The following commands are specific to the
|
|
.Ic iostat
|
|
display; the minimum unambiguous prefix may be supplied.
|
|
.Pp
|
|
.Bl -tag -width Fl -compact
|
|
.It Cm numbers
|
|
Show the disk
|
|
.Tn I/O
|
|
statistics in numeric form. Values are
|
|
displayed in numeric columns which scroll downward.
|
|
.It Cm bars
|
|
Show the disk
|
|
.Tn I/O
|
|
statistics in bar graph form (default).
|
|
.It Cm msps
|
|
Toggle the display of average seek time (the default is to
|
|
not display seek times).
|
|
.El
|
|
.It Ic 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
|
|
.Ar Used
|
|
column indicates 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.
|
|
.It Ic mbufs
|
|
Display, in the lower window, the number of mbufs allocated
|
|
for particular uses, i.e. data, socket structures, etc.
|
|
.It Ic 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 cacheing, disk
|
|
.Tn I/O
|
|
etc.
|
|
.Pp
|
|
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.
|
|
.Pp
|
|
Below the memory display is the disk usage display.
|
|
It reports the number of seeks, transfers, and number
|
|
of kilobyte blocks transferred per second averaged over the
|
|
refresh period of the display (by default, five seconds).
|
|
For some disks it also reports the average milliseconds per seek.
|
|
Note that the system only keeps statistics on at most four disks.
|
|
.Pp
|
|
Below the disk display is a list of the
|
|
average 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 desiring to run (`w').
|
|
Below the queue length listing is a numerical 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 ` ').
|
|
.Pp
|
|
At the bottom left 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.
|
|
.Pp
|
|
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.
|
|
.Pp
|
|
Below the paging statistics is a line listing the average number of
|
|
total reclaims ('Rec'),
|
|
intransit blocking page faults (`It'),
|
|
swap text pages found in free list (`F/S'),
|
|
file system text pages found in free list (`F/F'),
|
|
reclaims from free list
|
|
pages freed by the clock daemon (`Fre'),
|
|
and sequential process pages freed (`SFr')
|
|
per second over the refresh interval.
|
|
.Pp
|
|
Below this line are statistics on the average number of
|
|
zero filled pages (`zf') and demand filled text pages (`xf')
|
|
per second over the refresh period.
|
|
The first row indicates the number of requests that were
|
|
resolved, the second row shows the number that were set up,
|
|
and the last row shows the percentage of setup requests that were
|
|
actually used.
|
|
Note that this percentage is usually less than 100%,
|
|
however it may exceed 100% if a large number of requests
|
|
are actually used long after they were set up during a
|
|
period when no new pages are being set up.
|
|
Thus this figure is most interesting when observed over
|
|
a long time period, such as from boot time
|
|
(see below on getting such a display).
|
|
.Pp
|
|
Below the page fill statistics is a column that
|
|
lists the average number of context switches (`Csw'),
|
|
traps (`Trp'; includes page faults), system calls (`Sys'), interrupts (`Int'),
|
|
characters output to DZ ports using
|
|
.No pseudo Ns -DMA
|
|
(`Pdm'),
|
|
network software interrupts (`Sof'),
|
|
page faults (`Flt'), pages scanned by the page daemon (`Scn'),
|
|
and revolutions of the page daemon's hand (`Rev')
|
|
per second over the refresh interval.
|
|
.Pp
|
|
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.
|
|
.Pp
|
|
The following commands are specific to the
|
|
.Ic vmstat
|
|
display; the minimum unambiguous prefix may be supplied.
|
|
.Pp
|
|
.Bl -tag -width Ar -compact
|
|
.It Cm boot
|
|
Display cumulative statistics since the system was booted.
|
|
.It Cm run
|
|
Display statistics as a running total from the point this
|
|
command is given.
|
|
.It Cm time
|
|
Display statistics averaged over the refresh interval (the default).
|
|
.It Cm zero
|
|
Reset running statistics to zero.
|
|
.El
|
|
.It Ic netstat
|
|
Display, in the lower window, network connections. 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 minimum unambiguous prefix may be supplied):
|
|
.Pp
|
|
.Bl -tag -width Ar -compact
|
|
.It Cm all
|
|
Toggle the displaying of server processes awaiting requests (this
|
|
is the equivalent of the
|
|
.Fl a
|
|
flag to
|
|
.Ar netstat 1 ) .
|
|
.It Cm numbers
|
|
Display network addresses numerically.
|
|
.It Cm names
|
|
Display network addresses symbolically.
|
|
.It Ar protocol
|
|
Display only network connections using the indicated protocol
|
|
(currently either ``tcp'' or ``udp'').
|
|
.It Cm ignore Op Ar items
|
|
Do not display information about connections associated with
|
|
the specified hosts or ports. Hosts and ports may be specified
|
|
by name (``vangogh'', ``ftp''), or numerically. Host addresses
|
|
use the Internet dot notation (``128.32.0.9''). Multiple items
|
|
may be specified with a single command by separating them with
|
|
spaces.
|
|
.It Cm display Op Ar items
|
|
Display information about the connections associated with the
|
|
specified hosts or ports. As for
|
|
.Ar ignore ,
|
|
.Op Ar items
|
|
may be names or numbers.
|
|
.It Cm show Op Ar ports\&|hosts
|
|
Show, on the command line, the currently selected protocols,
|
|
hosts, and ports. Hosts and ports which are being ignored
|
|
are prefixed with a `!'. If
|
|
.Ar ports
|
|
or
|
|
.Ar hosts
|
|
is supplied as an argument to
|
|
.Cm show ,
|
|
then only the requested information will be displayed.
|
|
.It Cm reset
|
|
Reset the port, host, and protocol matching mechanisms to the default
|
|
(any protocol, port, or host).
|
|
.El
|
|
.El
|
|
.Pp
|
|
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
|
|
.Ic 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.
|
|
.Pp
|
|
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.
|
|
.Pp
|
|
.Bl -tag -width Tx -compact
|
|
.It Cm ignore Op Ar drives
|
|
Do not display information about the drives indicated. Multiple
|
|
drives may be specified, separated by spaces.
|
|
.It Cm display Op Ar drives
|
|
Display information about the drives indicated. Multiple drives
|
|
may be specified, separated by spaces.
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width /etc/networks -compact
|
|
.It Pa /kernel
|
|
For the namelist.
|
|
.It Pa /dev/kmem
|
|
For information in main memory.
|
|
.It Pa /dev/drum
|
|
For information about swapped out processes.
|
|
.It Pa /etc/hosts
|
|
For host names.
|
|
.It Pa /etc/networks
|
|
For network names.
|
|
.It Pa /etc/services
|
|
For port names.
|
|
.El
|
|
.Sh HISTORY
|
|
The
|
|
.Nm systat
|
|
program appeared in
|
|
.Bx 4.3 .
|
|
.Sh BUGS
|
|
Takes 2-10 percent of the cpu.
|
|
Certain displays presume a minimum of 80 characters per line.
|
|
The
|
|
.Ic vmstat
|
|
display looks out of place because it is (it was added in as
|
|
a separate display rather than created as a new program).
|