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

FreeBSD Manual Pages

  
 
  

home | help
TOP(1)			     General Commands Manual			  TOP(1)

NAME
     top -- display and update information about the top cpu processes

SYNOPSIS
     top [-abCHIijnPqSTtuvwz] [-d count] [-J jail] [-m cpu | io] [-o field]
	 [-p pid] [-s time] [-U username] [number]

DESCRIPTION
     top  displays the top processes on the system and periodically updates this
     information.  If standard output is an  intelligent  terminal  (see  below)
     then  as many processes as will fit on the terminal screen are displayed by
     default.  Otherwise, a good number of them are shown (around 20).	Raw  cpu
     percentage is used to rank the processes.	If number is given, then the top
     number processes will be displayed instead of the default.

     top  makes  a distinction between terminals that support advanced capabili-
     ties and those that do not.  This distinction affects  the  choice  of  de-
     faults  for  certain  options.   In  the  remainder  of  this  document, an
     "intelligent" terminal  is  one  that  supports  cursor  addressing,  clear
     screen,  and  clear  to  end of line.  Conversely, a "dumb" terminal is one
     that does not support such features.  If the output of top is redirected to
     a file, it acts as if it were being run on a dumb terminal.

     The options are as follows:

     -a      Display command names derived from the argv[] vector,  rather  than
	     real executable name.  It it useful when you want to watch applica-
	     tions,  that puts their status information there.	If the real name
	     differs from argv[0], it will be displayed  in  parenthesis.   Non-
	     printable	characters  in	the  command line are encoded in C-style
	     backslash sequences or a three digit octal sequences.

     -b      Use "batch" mode.	In this mode, all input from the terminal is ig-
	     nored.  Interrupt characters (such as ^C and ^\) still have an  ef-
	     fect.   This  is the default on a dumb terminal, or when the output
	     is not a terminal.

     -C      Toggle CPU display mode.  By default top displays the weighted  CPU
	     percentage  in  the  WCPU column (this is the same value that ps(1)
	     displays as CPU).	Each time -C flag is passed it	toggles  between
	     "raw  cpu"  mode  and "weighted cpu" mode, showing the "CPU" or the
	     "WCPU" column respectively.

     -d count
	     Show only count displays, then exit.  A display is considered to be
	     one update of the screen.	The default is	1  for	dumb  terminals.
	     Note  that for count = 1 no information is available about the per-
	     centage of time spent by the CPU in every state.

     -H      Display each thread for a multithreaded process  individually.   By
	     default a single summary line is displayed for each process.

     -I      Do  not  display idle processes.  By default, top displays both ac-
	     tive and idle processes.

     -i      Use "interactive" mode.  In this mode,  any  input  is  immediately
	     read  for processing.  See the section on "Interactive Mode" for an
	     explanation of which keys perform what functions.	After  the  com-
	     mand  is processed, the screen will immediately be updated, even if
	     the command was not understood.  This  mode  is  the  default  when
	     standard output is an intelligent terminal.

     -J jail
	     Show  only  those	processes owned by jail.  This may be either the
	     jid or name of the jail.  Use 0 to limit to host processes.   Using
	     this option implies -j.

     -j      Display the jail(8) ID.

     -m mode
	     Display  statistics in the specified mode.  Available modes are cpu
	     and io.  Default is cpu.

     -n      Use "non-interactive" mode.  This is identical to "batch" mode.

     -o field
	     Sort the process display area on the specified  field.   The  field
	     name  is the name of the column as seen in the output, but in lower
	     case: "cpu", "size",  "res",  "time",  "pri",  "threads",	"total",
	     "read", "write", "fault", "vcsw", "ivcsw", "jid", "swap", or "pid".

     -P      Display per-cpu CPU usage statistics.

     -p pid  Show only the process pid.

     -q      Renice  top  to  -20  so that it will run faster.	This can be used
	     when the system is being very sluggish to improve	the  possibility
	     of discovering the problem.  This option can only be used by root.

     -S      Show  system  processes in the display.  Normally, system processes
	     such as the pager and the swapper are not shown.  This option makes
	     them visible.

     -s time
	     Set the delay between screen updates to time seconds, which may  be
	     fractional.  The default delay between updates is 2 seconds.

     -T      Toggle displaying thread ID (tid) instead of process id (pid).

     -t      Do not display the top process itself.

     -U username
	     Show only those processes owned by username.  This option currently
	     only accepts usernames and will not understand uid numbers.

     -u      Do  not  map  uid numbers to usernames.  Normally, top will read as
	     much of the file /etc/passwd as is necessary to map all the user id
	     numbers it encounters into login names.  This option  disables  all
	     that,  while  possibly  decreasing execution time.  The uid numbers
	     are displayed instead of the names.

     -v      Write version number information to stderr then exit immediately.

     -w      Display approximate swap usage for each process.

     -z      Do not display the system idle process.

     Both count and number fields can be  specified  as  "infinite",  indicating
     that  they  can  stretch as far as possible.  This is accomplished by using
     any proper prefix of the keywords "infinity", "maximum", or "all".  Boolean
     flags are toggles.  A second specification of any	of  these  options  will
     negate the first.

INTERACTIVE MODE
     When  top is running in "interactive mode", it reads commands from the ter-
     minal and acts upon them accordingly.  In this mode, the terminal is put in
     "CBREAK", so that a character will be processed as soon  as  it  is  typed.
     Almost always, a key will be pressed when top is between displays; that is,
     while  it	is waiting for time seconds to elapse.	If this is the case, the
     command will be processed and  the  display  will	be  updated  immediately
     thereafter  (reflecting  any  changes that the command may have specified).
     This happens even if the command was incorrect.  If a key is pressed  while
     top is in the middle of updating the display, it will finish the update and
     then  process  the  command.  Some commands require additional information,
     and the user will be prompted accordingly.  While typing  this  information
     in,  the  user's erase and kill keys (as set up by the command stty(1)) are
     recognized, and a newline terminates the input.

     The bindings are as follows:

     space   Update the display.

     /	     Filter by command name.  Prompt for  string  or  `+'  to  show  all
	     processes.

     a	     Toggle display of process titles.

     C	     Toggle display of raw or weighted CPU percentage.

     d	     Change  the  number  of  remaining  displays  to  show before exit.
	     Prompt for new number.

     e	     Display a list of system errors (if any) generated by the last com-
	     mand.

     H	     Toggle display of threads.

     h or ?  Display a summary of the commands (help screen) and version  infor-
	     mation.

     i or I  Toggle display of idle processes.

     J	     Filter processes owned by a specific jail.  Prompt for jail name or
	     `+'  for  all  processes belonging to all jails and the host.  This
	     will also enable the display of JID.

     j	     Toggle display of jail(8) ID.

     k	     Send a signal (SIGKILL by default) to a list  of  processes.   This
	     acts similarly to the command kill(1).

     m	     Toggle the display between 'cpu' and 'io' modes.

     n or #  Change the number of processes to display.  Prompt for new number.

     o	     Change  the  order  in  which  the display is sorted.  The sort key
	     names include "cpu", "res", "size", and "time." The default is cpu.

     P	     Toggle display of per-CPU statistics.

     p	     Filter by exact process ID.  Prompt for PID  or  `+'  to  show  all
	     processes.

     q	     Quit top.

     r	     Change the priority (the "nice") of a list of processes.  This acts
	     similarly to renice(8).

     S	     Toggle the display of system processes.

     s	     Change the number of seconds to delay between displays.  Prompt for
	     new number.

     T	     Toggle display between thread ID and process ID.

     t	     Toggle display of the top process.

     u	     Filter  by  exact	process  owner username.  Prompt for username or
	     `-'/`+' for all users.  Usernames can be added to and removed  from
	     the set by prepending them with `+' and `-', respectively.

     w	     Toggle display of swap usage.

     z	     Toggle display of the system idle process.

THE DISPLAY
     The  top  few lines of the display show general information about the state
     of the system, including the last process id assigned to a process (on most
     systems), the three load averages, the current time, the number of existing
     processes, the number of processes in each state (sleeping, running, start-
     ing, zombies, and stopped), and a percentage of time spent in each  of  the
     processor states (user, nice, system, and idle).  It also includes informa-
     tion about physical and virtual memory allocation.

     The   remainder   of  the	screen	displays  information  about  individual
     processes.  This display is similar in spirit to ps(1) but it  is	not  ex-
     actly the same.  PID is the process id, JID, when displayed, is the jail(8)
     ID  corresponding	to  the  process,  USERNAME is the name of the process's
     owner (if -u is specified, a UID column will be substituted for  USERNAME),
     THR  is  the thread count, showing the number of threads a process has, PRI
     is the current priority of the process, NICE is the nice(1) amount, SIZE is
     the total size of the process (text, data, and stack), RES is  the  current
     amount  of  resident memory, SWAP is the approximate amount of swap, if en-
     abled (SIZE, RES and SWAP are given in kilobytes),  STATE	is  the  current
     state  (one  of  "START",	"RUN" (shown as "CPUn" on SMP systems), "SLEEP",
     "STOP", "ZOMB", "WAIT", "LOCK", or the event on which the process waits), C
     is the processor number on which the process is executing (visible only  on
     SMP  systems),  TIME  is the number of system and user cpu seconds that the
     process has used, WCPU, when displayed,  is  the  weighted  cpu  percentage
     (this  is	the  same value that ps(1) displays as CPU), CPU is the raw per-
     centage and is the field that is sorted  to  determine  the  order  of  the
     processes,  and COMMAND is the name of the command that the process is cur-
     rently running (if the process  is  swapped  out,	this  column  is  marked
     "<swapped>").

     If  a  process is in the "SLEEP" or "LOCK" state, the state column will re-
     port the name of the event or lock on which the process is  waiting.   Lock
     names are prefixed with an asterisk "*" while sleep events are not.

DESCRIPTION OF MEMORY
     Mem: 61M Active, 86M Inact, 368K Laundry, 22G Wired, 102G Free
     ARC: 15G Total, 9303M MFU, 6155M MRU, 1464K Anon, 98M Header, 35M Other
	  15G Compressed, 27G Uncompressed, 1.75:1 Ratio, 174M Overhead
     Swap: 4096M Total, 532M Free, 13% Inuse, 80K In, 104K Out

   Physical Memory Stats
     Active	   number of bytes active
     Inact	   number of clean bytes inactive
     Laundry	   number of dirty bytes queued for laundering
     Wired	   number  of  bytes  wired down, including IO-level cached file
		   data pages
     Buf	   number of bytes used for IO-level disk caching
     Free	   number of bytes free

   ZFS ARC Stats
     These stats are only displayed when the ARC is in use.

     Total	   number of wired bytes used for the ZFS ARC
     MRU	   number of ARC bytes holding most recently used data
     MFU	   number of ARC bytes holding most frequently used data
     Anon	   number of ARC bytes holding in flight data
     Header	   number of ARC bytes holding headers
     Other	   miscellaneous ARC bytes
     Compressed    bytes of memory used by ARC caches
     Uncompressed  bytes of data stored in ARC caches before compression
     Ratio	   compression ratio of data cached in the ARC

   Swap Stats
     Total	   total available swap usage
     Free	   total free swap usage
     Inuse	   swap usage
     In 	   bytes paged in from swap devices (last interval)
     Out	   bytes paged out to swap devices (last interval)

ENVIRONMENT
     TOP	   Default set of arguments to top.

     LC_CTYPE	   The locale to use when displaying the  argv	vector	when  -a
		   flag is specified.

SEE ALSO
     kill(1),	ps(1),	 stty(1),   getrusage(2),   humanize_number(3),  mem(4),
     renice(8)

HISTORY
     top first appeared in FreeBSD 2.2.2.

AUTHORS
     William LeFebvre, EECS Department, Northwestern University

BUGS
     The command name for swapped processes should be  tracked	down,  but  this
     would make the program run slower.

     As with ps(1), things can change while top is collecting information for an
     update.  The picture it gives is only a close approximation to reality.

FreeBSD ports 15.quarterly	  June 9, 2025				  TOP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=top&sektion=1&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help