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

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
TOP(1)									TOP(1)

       top - display and update	information about the top cpu processes

       top  [ -abCHIijnPqStuvz ] [ -dcount ] [ -mio|cpu	] [ -ofield ] [	-stime
       ] [ -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
       instead 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
	      default 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
	      select  the  number of displays he wants to see before top auto-
	      matically	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
	      default 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.

	      Show only	those processes	owned by username.  This  option  cur-
	      rently  only  accepts usernames and will not understand uid num-

       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".	The  default for count on an intelligent terminal is, in fact,

       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.

       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
       exactly	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
       determine  the  order  of the processes,	and COMMAND is the name	of the
       command 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
       environment 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
       Swap: 91M Total,	79M Free, 13% Inuse, 80K In, 104K Out

       K:     Kilobyte

       M:     Megabyte

       G:     Gigabyte

       %:     1/100

	      number of	bytes active

       Inact: number of	bytes inactive

       Wired: number of	bytes wired down, including cached file	data pages

       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

       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