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

FreeBSD Manual Pages


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

       top - display and update	information about the top cpu processes

       top  [ -abCHIijnPqStuvz ] [ -dcount ] [ -mio|cpu	] [ -ofield ] [	-stime
       ] [ -Jjail ] [ -Uusername ] [ number ]

       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 in-
       stead of	the default.

       Top makes a distinction between terminals that support  advanced	 capa-
       bilities	and those that do not.	This distinction affects the choice of
       defaults	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 redi-
       rected to a file, it acts as if it were being run on a dumb 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.

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

       -a     Display command names derived from  the  argv[]  vector,	rather
	      than  real  executable  name. It's useful	when you want to watch
	      applications, that puts their status information there.  If  the
	      real  name  differs from argv[0],	it will	be displayed in	paren-

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

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

       -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
	      command  is  processed,  the screen will immediately be updated,
	      even if the command was not understood.  This mode  is  the  de-
	      fault when standard output is an intelligent terminal.

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

       -j     Display the jail(8) ID.

       -t     Do not display the top process.

	      Display either 'cpu' or 'io' statistics.	Default	is 'cpu'.

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

       -P     Display per-cpu CPU usage	statistics.

       -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 possibil-
	      ity of discovering the problem.  This option can only be used by

       -u     Do not take the time to 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	execu-
	      tion time.  The uid numbers are displayed	instead	of the names.

       -v     Write  version  number  information  to stderr then exit immedi-
	      ately.  No other processing takes	 place	when  this  option  is
	      used.  To	see current revision information while top is running,
	      use the help command "?".

       -z     Do not display the system	idle process.

	      Show only	count displays,	then exit.  A display is considered to
	      be one update of the screen.  This option	allows the user	to se-
	      lect the number of displays he wants to see before top automati-
	      cally  exits.  For intelligent terminals,	no upper limit is set.
	      The default is 1 for dumb	terminals.

       -stime Set the delay between screen updates to time seconds.   The  de-
	      fault delay between updates is 2 seconds.

	      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.  Likely values are "cpu", "size", "res", and "time",
	      but may vary on different	operating systems.  Note that not  all
	      operating	systems	support	this option.

       -Jjail 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.  Us-
	      ing this option implies the -j flag.

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

       Both count and number fields can	be specified as	"infinite", indicating
       that  they can stretch as far as	possible.  This	is accomplished	by us-
       ing any proper prefix of	the keywords "infinity", "maximum", or	"all".
       The default for count on	an intelligent terminal	is, in fact, infinity.

       The environment variable	TOP is examined	for options before the command
       line is scanned.	 This enables a	user to	set his	or her	own  defaults.
       The  number  of processes to display can	also be	specified in the envi-
       ronment variable	TOP.  The options -a, -C, -H, -I, -j, -P, -S, -t,  -u,
       and  -z	are  actually toggles.	A second specification of any of these
       options will negate the first.  Thus a user  who	 has  the  environment
       variable	 TOP set to "-I" may use the command "top -I" to see idle pro-

       When top	is running in "interactive mode", it reads commands  from  the
       terminal	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 dis-
       plays; 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  accord-
       ingly.	While  typing  this  information in, the user's	erase and kill
       keys (as	set up by the command stty) are	recognized, and	a newline ter-
       minates the input.

       These commands are currently recognized (^L refers to control-L):

       ^L     Redraw the screen.

       h or ? Display a	summary	of the commands	(help screen).	Version	infor-
	      mation is	included in this display.

       q      Quit top.

       d      Change the number	of displays to show (prompt for	 new  number).
	      Remember	that the next display counts as	one, so	typing d1 will
	      make top show one	final display and then immediately exit.

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

       n or # Change the number	of processes to	display	(prompt	for  new  num-

       s      Change  the  number of seconds to	delay between displays (prompt
	      for new number).

       S      Toggle the display of system processes.

       a      Toggle the display of process titles.

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

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

       u      Display only processes owned by a	specific username (prompt  for
	      username).   If  the username specified is simply	"+", then pro-
	      cesses belonging to all users will be displayed.

       o      Change the order in which	the display is sorted.	 This  command
	      is  not  available on all	systems.  The sort key names vary from
	      system to	system but usually  include:   "cpu",  "res",  "size",
	      "time".  The default is cpu.

       e      Display  a  list of system errors	(if any) generated by the last
	      kill or renice command.

       H      Toggle the display of threads.

       i      (or I) Toggle the	display	of idle	processes.

       j      Toggle the display of jail(8) ID.

       J      Display only processes owned by  a  specific  jail  (prompt  for
	      jail).   If the jail specified is	simply "+", then processes be-
	      longing to all jails and the host	will be	displayed.  This  will
	      also enable the display of JID.

       P      Toggle the display of per-CPU statistics.

       t      Toggle the display of the	top process.

       z      Toggle the display of the	system idle process.

       The  actual  display  varies  depending on the specific variant of Unix
       that the	machine	is running.  This description may  not	exactly	 match
       what  is	 seen  by top running on this particular machine.  Differences
       are listed at the end of	this manual entry.

       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, starting, zombies, and stopped), and	 a  percentage
       of  time	spent in each of the processor states (user, nice, system, and
       idle).  It also includes	information about physical and virtual	memory

       The  remainder of the screen displays information about individual pro-
       cesses.	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), PRI is the current priority of the process, NICE is  the
       nice  amount  (in  the  range -20 to 20), SIZE is the total size	of the
       process (text, data, and	stack),	RES is the current amount of  resident
       memory (both SIZE and RES 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 percentage and is the field	that is	sorted to  de-
       termine the order of the	processes, and COMMAND is the name of the com-
       mand that the process is	currently 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
       report the name of the event or lock on which the process  is  waiting.
       Lock  names  are	 prefixed  with	an asterisk "*"	while sleep events are

       William LeFebvre, EECS Department, Northwestern University

       TOP  user-configurable defaults for options.

       /dev/kmem      kernel memory
       /dev/mem	      physical memory
       /etc/passwd	   used	to map uid numbers to user names
       /boot/kernel/kernel system image

       Don't shoot me, but the default for -I has changed once again.  So many
       people  were  confused by the fact that top wasn't showing them all the
       processes that I	have decided to	make the default  behavior  show  idle
       processes,  just	 like  it  did in version 2.  But to appease folks who
       can't stand that	behavior, I have added the ability  to	set  "default"
       options	in  the	 environment  variable	TOP (see the OPTIONS section).
       Those who want the behavior that	version	3.0 had	need only set the  en-
       vironment variable TOP to "-I".

       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

       kill(1),	ps(1), stty(1),	mem(4),	renice(8)

       Mem: 9220K Active, 1M Inact, 3284K Wired, 1M Cache, 2M Buf, 1320K  Free
       ARC:  2048K  Total,  342K  MRU,	760K MFU, 272K Anon, 232K Header, 442K
       Other Swap: 91M Total, 79M Free,	13% Inuse, 80K In, 104K	Out

       K:     Kilobyte

       M:     Megabyte

       G:     Gigabyte

       %:     1/100

   Physical Memory Stats
	      number of	bytes active

       Inact: number of	bytes inactive

       Wired: number of	bytes wired down, including BIO-level cached file data

       Cache: number  of clean bytes caching data that are available for imme-
	      diate reallocation

       Buf:   number of	bytes used for BIO-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

	      number of	ARC bytes holding headers

       Other  miscellaneous ARC	bytes

   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)

4th Berkeley Distribution	     Local				TOP(1)


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

home | help