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
       ] [ -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