Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SYSTAT(1)		  BSD General Commands Manual		     SYSTAT(1)

     systat -- display system statistics

     systat [-display] [refresh-interval]

     The systat	utility	displays various system	statistics in a	screen ori-
     ented 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 us-
     age, disk I/O statistics (a la iostat(8)),	virtual	memory statistics (a
     la	vmstat(8)), network ``mbuf'' utilization, TCP/IP statistics, and net-
     work connections (a la netstat(1)).

     Input is interpreted at two different levels.  A ``global'' command in-
     terpreter 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.

     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 refresh time in-
		       terval in seconds.  Time	interval can be	fractional.

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

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

     help	 Print the names of the	available displays on the command

     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, nu-
		 meric,	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 ac-
		 counted to the	``idle'' process.

     icmp	 Display, in the lower window, statistics about	messages re-
		 ceived	and transmitted	by the Internet	Control	Message	Proto-
		 col ("ICMP").	The left half of the screen displays informa-
		 tion about received packets, and the right half displays in-
		 formation 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 value in packets
			     (the default) per second
		 delta:	     show the rate of change of	each value 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 displays 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 interrupt mode
		 (``interrupt''), and idle (``idle'').	Statistics on disk
		 throughput show, for each drive, megabytes per	second,	aver-
		 age number of disk transactions per second, and average kilo-
		 bytes of data per transaction.	 This information may be dis-
		 played	as bar graphs or as rows of numbers which scroll down-
		 ward.	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 numeric form.
			     Values are	displayed in numeric columns which
			     scroll downward.
		 bars	     Show the disk I/O statistics in bar graph form
		 kbpt	     Toggle the	display	of kilobytes per transaction.
			     (the default is to	not display kilobytes per

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

     mbufs	 Display, in the lower window, the number of mbufs allocated
		 for particular	uses, i.e., data, socket structures, 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 transla-
		 tion 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 kilobytes in physical	pages claimed
		 by processes.	The second column reports the number of	kilo-
		 bytes in physical pages that are devoted to read only text
		 pages.	 The third and fourth columns report the same two fig-
		 ures for virtual pages, that is the number of kilobytes in
		 pages that would be needed if all processes had all of	their
		 pages.	 Finally the last column shows the number of kilobytes
		 in physical pages 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 page	wait (`p'), in disk wait other than paging
		 (`d'),	sleeping (`s'),	and swapped out	but desiring 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 software inter-
		 rupts (`Sof'),	and page faults	(`Flt').

		 Below the process 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 ` ').

		 Below the process display 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.

		 To the	right of the name translations display are lines show-
		 ing the number	of dirty buffers in the	buffer cache (`dt-
		 buf'),	desired	maximum	size of	vnode cache (`desvn'), number
		 of vnodes actually allocated (`numvn'), and number of allo-
		 cated vnodes that are free (`frevn').

		 At the	bottom left is the disk	usage display.	It reports the
		 number	of kilobytes per transaction, transactions 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 devstat(3) and
		 devstat(9) for	details	on the devstat system.

		 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

		 Below the paging statistics is	a column of lines regarding
		 the virtual memory system.  The first few lines describe, in
		 units (except as noted	below) of pages	per second averaged
		 over the sampling interval, pages copied on write (`cow'),
		 pages zero filled on demand (`zfod'), pages optimally zero
		 filled	on demand (`ozfod'), the ratio of the (average)	ozfod
		 / zfod	as a percentage	(`%ozfod'), pages freed	by the page
		 daemon	(`daefr'), pages freed by exiting processes (`prcfr'),
		 total pages freed (`totfr'), pages reactivated	from the free
		 list (`react'), the average number of times per second	that
		 the page daemon was awakened (`pdwak'), pages analyzed	by the
		 page daemon (`pdpgs'),	and in-transit blocking	page faults
		 (`intrn').  Note that the units are special for `%ozfod' and
		 `pdwak'.  The next few	lines describe,	as amounts of memory
		 in kilobytes, pages wired down	(`wire'), active pages
		 (`act'), inactive pages (`inact'), pages on the cache queue
		 (`cache'), and	free pages (`free').  Note that	the values
		 displayed are the current transient ones; they	are not	aver-

		 At the	bottom of this column is a line	showing	the amount of
		 virtual memory, in kilobytes, mapped into the buffer cache
		 (`buf').  This	statistic is not useful.  It exists only as a
		 placeholder for the corresponding useful statistic (the
		 amount	of real	memory used to cache disks).  The most impor-
		 tant component	of the latter (the amount of real memory used
		 by the	vm system to cache disks) is not available, but	can be
		 guessed from the `inact' amount under some system loads.

		 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.

		 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).
		 zero	       Reset running statistics	to zero.

     netstat	 Display, in the lower window, network connections.  By	de-
		 fault,	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 unambigu-
		 ous prefix may	be supplied):

		 all	       Toggle the displaying of	server processes
			       awaiting	requests (this is the equivalent of
			       the -a flag to netstat(1)).
		 numbers       Display network addresses numerically.
		 names	       Display network addresses symbolically.
		 proto protocol
			       Display only network connections	using the in-
			       dicated protocol.  Supported protocols are
			       ``tcp'',	``udp'', and ``all''.
		 ignore	[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
			       (``'').  Multiple items may be	speci-
			       fied with a single command by separating	them
			       with spaces.
		 display [items]
			       Display information about the connections asso-
			       ciated with the specified hosts or ports.  As
			       for ignore, [items] may be names	or numbers.
		 show [ports|hosts]
			       Show, on	the command line, the currently	se-
			       lected protocols, hosts,	and ports.  Hosts and
			       ports which are being ignored are prefixed with
			       a `!'.  If ports	or hosts is supplied as	an ar-
			       gument to show, then only the requested infor-
			       mation will be displayed.
		 reset	       Reset the port, host, and protocol matching
			       mechanisms to the default (any protocol,	port,
			       or host).

     ifstat	 Display the network traffic going through active interfaces
		 on the	system.	 Idle interfaces will not be displayed until
		 they receive some traffic.

		 For each interface being displayed, the current, peak and to-
		 tal statistics	are displayed for incoming and outgoing	traf-
		 fic.  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 command.

		 scale [units]	Modify the scale used to display the current
				and peak traffic over 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 un-
     ambiguous prefix; for example, ``io'' for ``iostat''.  Certain informa-
     tion 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	nor-
     mally 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	indicated.  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 mul-
		   tiple -t arguments which are	then ORed together, the	user
		   instead specifies multiple matching expressions joined by
		   the pipe (`|') character.  The comma	separated arguments
		   within each matching	expression are ANDed together, and
		   then	the pipe separated matching expressions	are ORed to-
		   gether.  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 devices 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.

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

     netstat(1), kvm(3), icmp(4), icmp6(4), ip(4), ip6(4), tcp(4), udp(4),
     gstat(8), iostat(8), vmstat(8)

     The systat	program	appeared in 4.3BSD.  The icmp, ip, and tcp displays
     appeared in FreeBSD 3.0; the notion of having different display modes for
     the ICMP, IP, TCP,	and UDP	statistics was stolen from the -C option to
     netstat(1)	in Silicon Graphics' IRIX system.

     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	17, 2012			   BSD


Want to link to this manual page? Use this URL:

home | help