top manpage – Linux Server Administrator

Linux User's Manual			

       top - display Linux tasks

       top  -hvV | -bcHisSMm -d delay -n iterations [-u user | -U user] -p pid
       [, pid ...]

       The traditional switches '-' and whitespace are optional.

       The top program provides a dynamic real-time view of a running  system.
       It  can	display	 system summary information as well as a list of tasks
       currently being managed by the Linux kernel.  The types of system  sum-
       mary  information  shown	 and  the types, order and size of information
       displayed for tasks are all user configurable  and  that	 configuration
       can be made persistent across restarts.

       The program provides a limited interactive interface for process manip-
       ulation as well as a much more extensive interface for personal config-
       uration	--  encompassing every aspect of its operation.	 And while top
       is referred to throughout this document, you are free to name the  pro-
       gram anything you wish.	That new name, possibly an alias, will then be
       reflected on top's display and used when reading and writing a configu-
       ration file.

       The remaining Table of Contents
	   1. COMMAND-LINE Options
	   2. FIELDS / Columns
	      a. DESCRIPTIONS of Fields
	      b. SELECTING and ORDERING Columns
	   3. INTERACTIVE Commands
	      a. GLOBAL Commands
	      b. SUMMARY Area Commands
	      c. TASK Area Commands
	      d. COLOR Mapping
	      a. WINDOWS Overview
	      b. COMMANDS for Windows
	   5. FILES
	      a. SYSTEM Configuration File
	      b. PERSONAL Configuration File
	   6. STUPID TRICKS Sampler
	      a. Kernel Magic
	      b. Bouncing Windows
	      c. The Big Bird Window
	   7. BUGS, 8. HISTORY Former top, 9. AUTHOR, 10. SEE ALSO

       When  operating	top, the two most important keys are help ('h' or '?')
       and quit ('q') key.  Alternatively, you could  simply  use  the	tradi-
       tional interrupt key ('^C') when you're done.

       When  you  start	 top  for the first time, you'll be presented with the
       traditional screen elements: 1) Summary Area; 2)	 Message/Prompt	 Line;
       3)  Columns Header; 4) Task Area.  There will, however, be some differ-
       ences when compared to the former top.

	  Summary_Area: There is no highlighting for load/uptime and only val-
	  ues are highlighted for other elements.

	  Task_Area:  Tasks running (or ready to run) will be highlighted, and
	  bold is only one way of emphasizing such processes.

	  Summary_Area: The program name is shown, perhaps a symlink or alias.
	  The  Cpu(s)  state  label  hints at other possibilities.  The memory
	  stats use a lower case 'k'.

	  Columns_Header: Will show a new field and some changed labels.  More
	  new fields will be found as you customize your top.

       Note:  the  width  of  top's  display will be limited to 512 positions.
       Displaying all fields  requires	a  minimum  of	160  characters.   The
       remaining width could be used for the 'Command' column.

   Startup Defaults
       The  following  startup	defaults assume no configuration file, thus no
       user customizations.  Even so, items shown with an asterisk ('*') could
       be overridden through the command-line.

	      'A' - Alt display	     Off (full-screen)
	    * 'd' - Delay time	     3.0 seconds
	      'I' - Irix mode	     On	 (no, 'solaris' smp)
	    * 'p' - PID monitoring   Off
	    * 's' - Secure mode	     Off (unsecured)
	      'B' - Bold disable     Off
	      'l' - Load Avg/Uptime  On	 (thus program name)
	      't' - Task/Cpu states  On	 (1+1 lines, see '1')
	      'm' - Mem/Swap usage   On	 (2 lines worth)
	      '1' - Single Cpu	     On	 (thus 1 line if smp)
	      'b' - Bold hilite	     On	 (not 'reverse')
	    * 'c' - Command line     Off (name, not cmdline)
	    * 'H' - Threads	     Off (show all threads)
	    * 'i' - Idle tasks	     On	 (show all tasks)
	      'R' - Reverse sort     On	 (pids high-to-low)
	    * 'S' - Cumulative time  Off (no, dead children)
	      'x' - Column hilite    Off (no, sort field)
	      'y' - Row hilite	     On	 (yes, running tasks)
	      'z' - color/mono	     Off (no, colors)

       The command-line syntax for top consists of:

	    -hvV | -bcHisSMm -d delay -n iterations [-u	  user	 |   -U	 user]
       -p pid [,pid...]

       The typically mandatory switches ('-') and  even	 whitespace  are  com-
       pletely optional.

       -b : Batch mode operation
	    Starts top in 'Batch mode', which could be useful for sending out-
	    put from top to other programs or to a file.  In  this  mode,  top
	    will  not  accept input and runs until the iterations limit you've
	    set with the '-n' command-line option or until killed.

       -c : Command line/Program name toggle
	    Starts top with the last remembered 'c' state reversed.  Thus,  if
	    top was displaying command lines, now that field will show program
	    names, and visa versa.  See the 'c' interactive command for	 addi-
	    tional information.

       -d : Delay time interval as:  -d (seconds.tenths)
	    Specifies the delay between screen updates, and overrides the cor-
	    responding value in	 one's	personal  configuration	 file  or  the
	    startup  default.	Later  this can be changed with the 'd' or 's'
	    interactive commands.

	    Fractional seconds are honored,  but  a  negative  number  is  not
	    allowed.   In  all	cases, however, such changes are prohibited if
	    top is running in 'Secure mode', except for root (unless  the  's'
	    command-line  option  was  used).	For  additional information on
	    'Secure mode' see topic 5a. SYSTEM Configuration File.

       -h : Help
	    Show library version and the usage prompt, then quit.

       -M : Detect memory units
	    Show memory units (k/M/G) and display floating point values in the
	    memory summary.

       -m : Sort by memory usage
	    This switch makes top to sort the processes by allocated memory

       -H : Threads toggle
	    Starts top with the last remembered 'H' state reversed.  When this
	    toggle is On, all individual threads will  be  displayed.	Other-
	    wise, top displays a summation of all threads in a process.

       -i : Idle Processes toggle
	    Starts top with the last remembered 'i' state reversed.  When this
	    toggle is Off, tasks that are idled or zombied will	 not  be  dis-

       -n : Number of iterations limit as:  -n number
	    Specifies  the maximum number of iterations, or frames, top should
	    produce before ending.

       -u : Monitor by user as:	 -u somebody
	    Monitor only processes with an effective UID or user name matching
	    that given.

       -U : Monitor by user as:	 -U somebody
	    Monitor  only  processes  with  a  UID  or user name matching that
	    given.  This matches real, effective, saved, and filesystem	 UIDs.

       -p : Monitor PIDs as:  -pN1 -pN2 ...  or	 -pN1, N2 [,...]
	    Monitor  only  processes  with specified process IDs.  This option
	    can be given up to 20 times, or you can provide a comma  delimited
	    list  with	up to 20 pids.	Co-mingling both approaches is permit-

	    This is a command-line option only.	 And should you wish to return
	    to	normal	operation, it is not necessary to quit and and restart
	    top	 --  just issue the '=' interactive command.

       -s : Secure mode operation
	    Starts top with secure mode forced, even for root.	This  mode  is
	    far	 better	 controlled through the system configuration file (see
	    topic 5. FILES).

       -S : Cumulative time mode toggle
	    Starts top with the last  remembered  'S'  state  reversed.	  When
	    'Cumulative	 mode' is On, each process is listed with the cpu time
	    that it and its dead children have used.  See the 'S'  interactive
	    command for additional information regarding this mode.

       -v : Version
	    Show library version and the usage prompt, then quit.

       -M : Detect memory units
	    Show memory units (k/M/G) and display floating point values in the
	    memory summary.

2. FIELDS / Columns
   2a. DESCRIPTIONS of Fields
       Listed below are top's available fields.	 They  are  always  associated
       with  the  letter shown, regardless of the position you may have estab-
       lished for them with the 'o' (Order fields) interactive command.

       Any field is selectable as the sort field, and you control whether they
       are  sorted  high-to-low or low-to-high.	 For additional information on
       sort provisions see topic 3c. TASK Area Commands.

       a: PID  --  Process Id
	  The task's unique process ID, which periodically wraps, though never
	  restarting at zero.

       b: PPID	--  Parent Process Pid
	  The process ID of a task's parent.

       c: RUSER	 --  Real User Name
	  The real user name of the task's owner.

       d: UID  --  User Id
	  The effective user ID of the task's owner.

       e: USER	--  User Name
	  The effective user name of the task's owner.

       f: GROUP	 --  Group Name
	  The effective group name of the task's owner.

       g: TTY  --  Controlling Tty
	  The  name  of	 the controlling terminal.  This is usually the device
	  (serial port, pty, etc.) from which the  process  was	 started,  and
	  which	 it  uses  for	input  or output.  However, a task need not be
	  associated with a terminal, in which case you'll see '?'  displayed.

       h: PR  --  Priority
	  The priority of the task.

       i: NI  --  Nice value
	  The nice value of the task.  A negative nice value means higher pri-
	  ority, whereas a positive nice value means lower priority.  Zero  in
	  this field simply means priority will not be adjusted in determining
	  a task's dispatchability.

       j: P  --	 Last used CPU (SMP)
	  A number representing the last used processor.  In a true SMP	 envi-
	  ronment  this	 will likely change frequently since the kernel inten-
	  tionally uses weak affinity.	Also, the very act of running top  may
	  break	 this  weak  affinity  and cause more processes to change CPUs
	  more often (because of the extra demand for cpu time).

       k: %CPU	--  CPU usage
	  The task's share of the elapsed  CPU	time  since  the  last	screen
	  update,  expressed as a percentage of total CPU time.	 In a true SMP
	  environment, if 'Irix mode' is Off, top  will	 operate  in  'Solaris
	  mode'	 where	a task's cpu usage will be divided by the total number
	  of CPUs.  You toggle 'Irix/Solaris' modes with the  'I'  interactive

       l: TIME	--  CPU Time
	  Total CPU time the task has used since it started.  When 'Cumulative
	  mode' is On, each process is listed with the cpu time	 that  it  and
	  its  dead children has used.	You toggle 'Cumulative mode' with 'S',
	  which is a command-line option and an interactive command.  See  the
	  'S'  interactive  command  for additional information regarding this

       m: TIME+	 --  CPU Time, hundredths
	  The same as 'TIME', but reflecting  more  granularity	 through  hun-
	  dredths of a second.

       n: %MEM	--  Memory usage (RES)
	  A task's currently used share of available physical memory.

       o: VIRT	--  Virtual Image (kb)
	  The  total  amount  of virtual memory used by the task.  It includes
	  all code, data and  shared  libraries	 plus  pages  that  have  been
	  swapped  out. (Note: you can define the STATSIZE=1 environment vari-
	  able and the VIRT will be calculated from the	 /proc/#/state	VmSize


       p: SWAP	--  Non-resident size (kb)
	  The non-resident portion of a task's address space.

       q: RES  --  Resident size (kb)
	  The non-swapped physical memory a task has used.


       r: CODE	--  Code size (kb)
	  The amount of physical memory devoted to executable code, also known
	  as the 'text resident set' size or TRS.

       s: DATA	--  Data+Stack size (kb)
	  The amount of physical memory devoted to other than executable code,
	  also known as the 'data resident set' size or DRS.

       t: SHR  --  Shared Mem size (kb)
	  The amount of shared memory used by a task.  It simply reflects mem-
	  ory that could be potentially shared with other processes.

       u: nFLT	--  Page Fault count
	  The number of major page faults that have occurred for  a  task.   A
	  page fault occurs when a process attempts to read from or write to a
	  virtual page that is not currently present in its address space.   A
	  major page fault is when disk access is involved in making that page

       v: nDRT	--  Dirty Pages count
	  The number of pages that have been modified  since  they  were  last
	  written  to  disk.   Dirty  pages must be written to disk before the
	  corresponding physical memory location can be used  for  some	 other
	  virtual page.

       w: S  --	 Process Status
	  The status of the task which can be one of:
	     'D' = uninterruptible sleep
	     'R' = running
	     'S' = sleeping
	     'T' = traced or stopped
	     'Z' = zombie

	  Tasks	 shown as running should be more properly thought of as 'ready
	  to run'  --  their task_struct is simply represented	on  the	 Linux
	  run-queue.   Even  without  a true SMP machine, you may see numerous
	  tasks in this state depending	 on  top's  delay  interval  and  nice

       x: Command  --  Command line or Program name
	  Display  the	command	 line  used to start a task or the name of the
	  associated program.  You toggle between command line and  name  with
	  'c', which is both a command-line option and an interactive command.

	  When you've chosen to display command	 lines,	 processes  without  a
	  command  line (like kernel threads) will be shown with only the pro-
	  gram name in parentheses, as in this example:
		( mdrecoveryd )

	  Either form of display is subject to potential  truncation  if  it's
	  too  long  to fit in this field's current width.  That width depends
	  upon other fields selected,  their  order  and  the  current	screen

	  Note: The 'Command' field/column is unique, in that it is not fixed-
	  width.  When displayed, this column will be allocated all  remaining
	  screen  width	 (up to the maximum 512 characters) to provide for the
	  potential growth of program names into command lines.

       y: WCHAN	 --  Sleeping in Function
	  Depending on the availability of the kernel link map (''),
	  this	field will show the name or the address of the kernel function
	  in which the task is currently sleeping.  Running tasks will display
	  a dash ('-') in this column.

	  Note:	 By  displaying	 this  field,  top's  own  working set will be
	  increased by over 700Kb.  Your only means of reducing that  overhead
	  will be to stop and restart top.

       z: Flags	 --  Task Flags
	  This column represents the task's current scheduling flags which are
	  expressed in hexadecimal notation and with zeros suppressed.	 These
	  flags	 are  officially  documented  in <linux/sched.h>.  Less formal
	  documentation can also be found on the 'Fields  select'  and	'Order
	  fields' screens.

   2b. SELECTING and ORDERING Columns
       After  pressing	the  interactive  commands  'f' (Fields select) or ?o'
       (Order fields) you will be shown a screen containing the current fields
       string followed by names and descriptions for all fields.

       Here  is	 a  sample  fields string from one of top's four windows/field
       groups and an explanation of the conventions used:

       -  Sample fields string:

       -  The order of displayed fields corresponds to the order of  the  let-
	  ters in that string.

       -  If the letter is upper case the corresponding field itself will then
	  be shown as part of the  task	 display  (screen  width  permitting).
	  This	will also be indicated by a leading asterisk ('*'), as in this
	      * K: %CPU	      = CPU usage
		l: TIME	      = CPU Time
		m: TIME+      = CPU Time, hundredths
	      * N: %MEM	      = Memory usage (RES)
	      * O: VIRT	      = Virtual Image (kb)

       Fields select screen  --	 the 'f' interactive command
	  You toggle the display of a field by simply pressing the correspond-
	  ing letter.

       Order fields screen  --	the 'o' interactive command
	  You  move  a	field  to the left by pressing the corresponding upper
	  case letter and to the right with the lower case letter.

       Listed below is a brief index of commands within categories.  Some com-
       mands  appear  more  than  once	 --   their  meaning or scope may vary
       depending on the context in which they are issued.

	 3a. GLOBAL_Commands
	       <Ret/Sp> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
	 3b. SUMMARY_Area_Commands
	       l, m, t, 1
	 3c. TASK_Area_Commands
	       Appearance:  b, x, y, z
	       Content:	    c, f, H, o, S, u
	       Size:	    #, i, n
	       Sorting:	    <, >, F, O, R
	 3d. COLOR_Mapping
	       <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
	 4b. COMMANDS_for_Windows
	       -, _, =, +, A, a, G, g, w

   3a. GLOBAL Commands
       The  global  interactive	 commands  are	always	 available   in	  both
       full-screen  mode  and  alternate-display mode.	However, some of these
       interactive commands are not available when running in 'Secure mode'.

       If you wish to know in  advance	whether	 or  not  your	top  has  been
       secured,	 simply ask for help and view the system summary on the second

	 <Enter> or <Space> :Refresh_Display
	      These commands do nothing, they are  simply  ignored.   However,
	      they  will  awaken  top  and  following receipt of any input the
	      entire display will be repainted.

	      Use either of these keys if you have a large delay interval  and
	      wish to see current status,

	 ??? or ?h? :Help
	      There  are  two help levels available.  The first will provide a
	      reminder of all the  basic  interactive  commands.   If  top  is
	      secured, that screen will be abbreviated.

	      Typing  'h' or '?' on that help screen will take you to help for
	      those interactive commands applicable to alternate-display mode.

	 ?=? :Exit_Task_Limits
	      Removes  restrictions  on	 which	tasks are shown.  This command
	      will reverse any 'i' (idle tasks) and 'n' (max  tasks)  commands
	      that  might  be active.  It also provides for an 'exit' from PID
	      monitoring.  See the '-p' command-line option for	 a  discussion
	      of PID monitoring.

	      When  operating  in  alternate-display  mode  this command has a
	      slightly broader meaning.

	 ?A? :Alternate_Display_Mode_toggle
	      This command will switch between	full-screen  mode  and	alter-
	      nate-display  mode.  See topic 4. ALTERNATE-DISPLAY Mode and the
	      'G' interactive command for insight into ?current'  windows  and
	      field groups.

	 ?B? :Bold_Disable/Enable_toggle
	      This  command will influence use of the 'bold' terminfo capabil-
	      ity and alters both the summary area and task area for the ?cur-
	      rent'  window.  While it is intended primarily for use with dumb
	      terminals, it can be applied anytime.

	      Note: When this toggle is On and top is operating in  monochrome
	      mode,  the  entire  display  will	 appear as normal text.	 Thus,
	      unless the 'x' and/or 'y' toggles are using reverse  for	empha-
	      sis, there will be no visual confirmation that they are even on.

       * ?d? or ?s? :Change_Delay_Time_interval
	      You will be prompted  to	enter  the  delay  time,  in  seconds,
	      between display updates.

	      Fractional  seconds  are	honored,  but a negative number is not
	      allowed.	Entering 0 causes (nearly) continuous updates, with an
	      unsatisfactory  display as the system and tty driver try to keep
	      up with top's demands.  The delay	 value	is  inversely  propor-
	      tional to system loading, so set it with care.

	      If  at  any time you wish to know the current delay time, simply
	      ask for help and view the system summary on the second line.

	 ?G? :Choose_Another_Window/Field_Group
	      You will be prompted to enter a number between 1 and 4 designat-
	      ing  the	window/field  group which should be made the ?current'
	      window.  You will soon grow comfortable with  these  4  windows,
	      especially after experimenting with alternate-display mode.

	 ?I? :Irix/Solaris_Mode_toggle
	      When operating in 'Solaris mode' ('I' toggled Off), a task's cpu
	      usage will be divided by the total number of CPUs.  After	 issu-
	      ing  this	 command,  you'll be informed of the new state of this

	 ?u? :select a user
	      You will be prompted for	a  UID	or  username.  Only  processes
	      belonging	 to  the  selected user will be displayed. This option
	      matches on the effective UID.

	 ?U? :select a user
	      You will be prompted for	a  UID	or  username.  Only  processes
	      belonging	 to  the  selected user will be displayed. This option
	      matches on the real, effective, saved, and filesystem UID.

       * ?k? :Kill_a_task
	      You will be prompted for a PID and then the signal to send.  The
	      default  signal,	as  reflected in the prompt, is SIGTERM.  How-
	      ever, you can send any signal, via number or name.

	      If you wish to abort the kill process, do one of	the  following
	      depending on your progress:
		 1) at the pid prompt, just press <Enter>
		 2) at the signal prompt, type 0

	 ?q? :Quit

       * ?r? :Renice_a_Task
	      You will be prompted for a PID and then the value to nice it to.
	      Entering a positive value will cause a process to lose priority.
	      Conversely,  a  negative value will cause a process to be viewed
	      more favorably by the kernel.

	 ?W? :Write_the_Configuration_File
	      This will save all of your options and toggles plus the  current
	      display  mode  and  delay	 time.	 By  issuing this command just
	      before quitting top, you will be able restart later  in  exactly
	      that same state.

	 ?Z? :Change_Color_Mapping
	      This key will take you to a separate screen where you can change
	      the colors for the ?current' window, or for  all	windows.   For
	      details  regarding  this interactive command see topic 3d. COLOR

       *  The commands shown with an  asterisk	('*')  are  not	 available  in
	  'Secure mode', nor will they be shown on the level-1 help screen.

   3b. SUMMARY Area Commands
       The  summary  area  interactive	commands  are always available in both
       full-screen mode and alternate-display mode.  They affect the beginning
       lines  of  your display and will determine the position of messages and

       These commands always impact just  the  ?current'  window/field	group.
       See topic 4. ALTERNATE-DISPLAY Mode and the 'G' interactive command for
       insight into ?current' windows and field groups.

	 ?l? :Toggle_Load_Average/Uptime  --  On/Off
	      This is also the line containing the program name	 (possibly  an
	      alias)  when operating in full-screen mode or the ?current' win-
	      dow name when operating in alternate-display mode.

	 ?m? :Toggle_Memory/Swap_Usage	--  On/Off
	      This command affects two summary area lines.

	 ?t? :Toggle_Task/Cpu_States  --  On/Off
	      This command affects from 2 to many summary area lines,  depend-
	      ing  on  the  state  of the '1' toggle and whether or not top is
	      running under true SMP.

	 ?1? :Toggle_Single/Separate_Cpu_States	 --  On/Off
	      This command affects how the 't' command's Cpu States portion is
	      shown.   Although	 this  toggle  exists  primarily to serve mas-
	      sively-parallel SMP machines, it is not restricted to solely SMP

	      When you see 'Cpu(s):' in the summary area, the '1' toggle is On
	      and all cpu information is gathered in a	single	line.	Other-
	      wise, each cpu is displayed separately as: 'Cpu0, Cpu1, ...'

       Note:  If  the entire summary area has been toggled Off for any window,
       you would be left with just the message line.  In that  way,  you  will
       have  maximized	available  task	 rows but (temporarily) sacrificed the
       program name in full-screen mode or the ?current' window name  when  in
       alternate-display mode.

   3c. TASK Area Commands
       The  task area interactive commands are always available in full-screen

       The task area  interactive  commands  are  never	 available  in	alter-
       nate-display  mode if the ?current' window's task display has been tog-
       gled Off (see topic 4. ALTERNATE-DISPLAY Mode).

       APPEARANCE of task window
	 The following commands will also be influenced by the	state  of  the
	 global 'B' (bold disable) toggle.

	 ?b? :Bold/Reverse_toggle
	      This  command  will  impact how the 'x' and 'y' toggles are dis-
	      played.  Further, it will only be available when at least one of
	      those toggles is On.

	 ?x? :Column_Highlight_toggle
	      Changes  highlighting  for the current sort field.  You probably
	      don't need a constant visual reminder of the sort field and  top
	      hopes  that  you	always run with 'column highlight' Off, due to
	      the cost in path-length.

	      If you forget which field is being sorted this command can serve
	      as a quick visual reminder.

	 ?y? :Row_Highlight_toggle
	      Changes	highlighting  for  "running"  tasks.   For  additional
	      insight into this task state,  see  topic	 2a.  DESCRIPTIONS  of
	      Fields, Process Status.

	      Use  of this provision provides important insight into your sys-
	      tem's health.  The only costs  will  be  a  few  additional  tty
	      escape sequences.

	 ?z? :Color/Monochrome_toggle
	      Switches	the  ?current'	window	between	 your  last used color
	      scheme and the older form of black-on-white  or  white-on-black.
	      This  command will alter both the summary area and task area but
	      does not affect the state of the 'x', 'y' or 'b' toggles.

       CONTENT of task window
	 ?c? :Command_Line/Program_Name_toggle
	      This command will be honored whether or not the 'Command' column
	      is  currently visible.  Later, should that field come into view,
	      the change you applied will be seen.

	 ?f? and ?o? :Fields_select or Order_fields
	      These keys display separate screens where you can	 change	 which
	      fields  are  displayed and their order.  For additional informa-
	      tion on these interactive commands see topic 2b.	SELECTING  and
	      ORDERING Columns.

	 ?H? :Threads_toggle
	      When  this  toggle  is  On,  all individual threads will be dis-
	      played.  Otherwise, top displays a summation of all threads in a

	 ?S? :Cumulative_Time_Mode_toggle
	      When  'Cumulative	 mode'	is On, each process is listed with the
	      cpu time that it and its dead children have used.

	      When Off, programs that  fork  into  many	 separate  tasks  will
	      appear less demanding.  For programs like 'init' or a shell this
	      is appropriate but for  others,  like  compilers,	 perhaps  not.
	      Experiment with two task windows sharing the same sort field but
	      with different 'S' states and see which representation you  pre-

	      After  issuing this command, you'll be informed of the new state
	      of this toggle.  If you wish to know in advance whether  or  not
	      'Cumulative mode' is in effect, simply ask for help and view the
	      window summary on the second line.

	 ?u? :Show_Specific_User_Only
	      You will be prompted to enter the name of the user  to  display.
	      Thereafter,  in that task window only matching User ID's will be
	      shown, or possibly no tasks will be shown.

	      Later, if you wish to monitor all	 tasks	again,	re-issue  this
	      command  but just press <Enter> at the prompt, without providing
	      a name.

       SIZE of task window
	 ?i? :Idle_Processes_toggle
	      Displays all tasks or just active tasks.	When  this  toggle  is
	      Off, idled or zombied processes will not be displayed.

	      If  this	command	 is  applied  to the last task display when in
	      alternate-display mode, then it will  not	 affect	 the  window's
	      size, as all prior task displays will have already been painted.

	 ?n? or ?#? :Set_Maximum_Tasks
	      You will be prompted to enter the number of  tasks  to  display.
	      The  lessor  of  your  number  and available screen rows will be

	      When used in alternate-display mode, this is  the	 command  that
	      gives  you precise control over the size of each currently visi-
	      ble task display, except for the very last.  It will not	affect
	      the  last	 window's  size,  as all prior task displays will have
	      already been painted.

	      Note: If you wish to increase the size of the last visible  task
	      display when in alternate-display mode, simply decrease the size
	      of the task display(s) above it.

       SORTING of task window
	 For compatibility, this top supports most  of	the  former  top  sort
	 keys.	 Since	this is primarily a service to former top users, these
	 commands do not appear on any help screen.
	    command   sorted field		    supported
	      A		start time (non-display)      No
	      M		%MEM			      Yes
	      N		PID			      Yes
	      P		%CPU			      Yes
	      T		TIME+			      Yes

	 Before using any of the following sort provisions, top suggests  that
	 you temporarily turn on column highlighting using the 'x' interactive
	 command.  That will help ensure  that	the  actual  sort  environment
	 matches your intent.

	 The following interactive commands will only be honored when the cur-
	 rent sort field is visible.  The sort	field  might  not  be  visible
	      1) there is insufficient Screen Width
	      2) the 'f' interactive command turned it Off

	 ?<? :Move_Sort_Field_Left
	      Moves  the sort column to the left unless the current sort field
	      is the first field being displayed.

	 ?>? :Move_Sort_Field_Right
	      Moves the sort column to the right unless the current sort field
	      is the last field being displayed.

	 The  following interactive commands will always be honored whether or
	 not the current sort field is visible.

	 ?F? or ?O? :Select_Sort_Field
	      These keys display a separate screen where you can change	 which
	      field is used as the sort column.

	      If a field is selected which was not previously being displayed,
	      it will be forced On when you return to the top  display.	  How-
	      ever,  depending	upon  your  screen width and the order of your
	      fields, this sort field may not be displayable.

	      This interactive command can be a convenient way to simply  ver-
	      ify  the	current sort field, when running top with column high-
	      lighting turned Off.

	 ?R? :Reverse/Normal_Sort_Field_toggle
	      Using this interactive command you can alternate	between	 high-
	      to-low and low-to-high sorts.

	 Note:	Field  sorting	uses internal values, not those in column dis-
	 play.	Thus, the TTY and WCHAN fields will violate strict ASCII  col-
	 lating sequence.

   3d. COLOR Mapping
       When  you issue the 'Z' interactive command, you will be presented with
       a separate screen.  That screen can be used to  change  the  colors  in
       just  the  ?current'  window or in all four windows before returning to
       the top display.

       Available interactive commands
	   4 upper case letters to select a target
	   8 numbers to select a color
	   normal toggles available
	       'B'	 :bold disable/enable
	       'b'	 :running tasks "bold"/reverse
	       'z'	 :color/mono
	   other commands available
	       'a'/'w'	 :apply, then go to next/prior
	       <Enter>	 :apply and exit
	       'q'	 :abandon current changes and exit

       If your use 'a' or 'w' to cycle the  targeted  window,  you  will  have
       applied	the color scheme that was displayed when you left that window.
       You can, of course, easily return to any window and  reapply  different
       colors or turn colors Off completely with the 'z' toggle.

       The  Color Mapping screen can also be used to change the ?current' win-
       dow/field group in either full-screen mode or  alternate-display	 mode.
       Whatever was targeted when 'q' or <Enter> was pressed will be made cur-
       rent as you return to the top display.

   4a. WINDOWS Overview
       Field Groups/Windows:
	      In full-screen mode there is a single window represented by  the
	      entire  screen.  That single window can still be changed to dis-
	      play 1 of 4 different field groups (see the 'G' interactive com-
	      mand,  repeated below).  Each of the 4 field groups has a unique
	      separately configurable summary area and	its  own  configurable
	      task area.

	      In  alternate-display  mode, those 4 underlying field groups can
	      now be made visible simultaneously, or can be turned  Off	 indi-
	      vidually at your command.

	      The  summary  area will always exist, even if it's only the mes-
	      sage line.  At any given time only one summary area can be  dis-
	      played.	However,  depending  on	 your commands, there could be
	      from zero to four separate task displays	currently  showing  on
	      the screen.

       Current Window:
	      The  ?current'  window is the window associated with the summary
	      area and the window to which task related	 commands  are	always
	      directed.	  Since	 in  alternate-display mode you can toggle the
	      task display Off, some commands  might  be  restricted  for  the
	      ?current' window.

	      A	 further  complication	arises when you have toggled the first
	      summary area line Off.  With the loss of the  window  name  (the
	      'l'  toggled  line),  you'll  not easily know what window is the
	      ?current' window.

   4b. COMMANDS for Windows
	 ?-? and ?_? :Show/Hide_Window(s)_toggles
	      The '-' key turns the ?current' window's	task  display  On  and
	      Off.  When On, that task area will show a minimum of the columns
	      header you've established with the 'f'  and  'o'	commands.   It
	      will  also  reflect  any	other task area options/toggles you've
	      applied yielding zero or more tasks.

	      The '_' key does the same	 for  all  task	 displays.   In	 other
	      words, it switches between the currently visible task display(s)
	      and any task display(s) you had toggled Off.  If all 4 task dis-
	      plays are currently visible, this interactive command will leave
	      the summary area as the only display element.

       * ?=? and ?+? :Equalize_(re-balance)_Window(s)
	      The '=' key forces the ?current' window's	 task  display	to  be
	      visible.	 It  also  reverses  any 'i' (idle tasks) and 'n' (max
	      tasks) commands that might be active.

	      The '+' key does the same for all windows.  The four  task  dis-
	      plays  will  reappear,  evenly  balanced.	  They	will also have
	      retained any customizations you had previously  applied,	except
	      for the 'i' (idle tasks) and 'n' (max tasks) commands.

       * ?A? :Alternate_Display_Mode_toggle
	      This  command  will  switch  between full-screen mode and alter-
	      nate-display mode.

	      The first time you issue this command, all  four	task  displays
	      will  be	shown.	Thereafter when you switch modes, you will see
	      only the task display(s) you've chosen to make visible.

       * ?a? and ?w? :Next_Window_Forward/Backward
	      This will change the ?current' window, which in turn changes the
	      window to which commands are directed.  These keys act in a cir-
	      cular fashion so you can	reach  any  desired  ?current'	window
	      using either key.

	      Assuming	the  window  name is visible (you have not toggled 'l'
	      Off), whenever  the  ?current'  window  name  loses  its	empha-
	      sis/color,  that's  a  reminder the task display is Off and many
	      commands will be restricted.

       * ?G? :Choose_Another_Window/Field_Group
	      You will be prompted to enter a number between 1 and 4 designat-
	      ing  the	window/field  group which should be made the ?current'

	      In full-screen mode, this command	 is  necessary	to  alter  the
	      ?current'	 window.   In  alternate-display  mode, it is simply a
	      less convenient alternative to the 'a' and 'w' commands.

	 ?g? :Change_Window/Field_Group_Name
	      You will be prompted for a new name to be applied to  the	 ?cur-
	      rent' window.  It does not require that the window name be visi-
	      ble (the 'l' toggle to be On).

       *  The interactive commands shown  with	an  asterisk  ('*')  have  use
	  beyond alternate-display mode.
	      ?=', 'A', 'G'  are always available
	      ?a', 'w'	     act the same when color mapping

   5a. SYSTEM Configuration File
       The  presence  of  this file will influence which version of the 'help'
       screen is shown to an ordinary user.  More importantly, it  will	 limit
       what  ordinary  users are allowed to do when top is running.  They will
       not be able to issue the following commands.
	  k	    Kill a task
	  r	    Renice a task
	  d or s    Change delay/sleep interval

       The system configuration file is not created by top.  Rather, you  cre-
       ate  this  file	manually and place it in the /etc directory.  Its name
       must be 'toprc' and must have no leading '.' (period).	It  must  have
       only two lines.

       Here is an example of the contents of /etc/toprc:
	  s	    # line 1: 'secure' mode switch
	  5.0	    # line 2: 'delay'  interval in seconds

   5b. PERSONAL Configuration File
       This  file  is written as '$HOME/.your-name-4-top' + 'rc'.  Use the 'W'
       interactive command to create it or update it.

       Here is the general layout:
	  global    # line 1: the program name/alias notation
	    "	    # line 2: id,altscr,irixps,delay,curwin
	  per ea    # line a: winname,fieldscur
	  window    # line b: winflags,sortindx,maxtasks
	    "	    # line c: summclr,msgsclr,headclr,taskclr

       If the $HOME variable is not present, top will try to  write  the  per-
       sonal  configuration  file to the current directory, subject to permis-

       Many of these 'tricks' work best when you give top a scheduling	boost.
       So  plan	 on starting him with a nice value of -10, assuming you've got
       the authority.

   6a. Kernel Magic
       For these stupid tricks, top needs full-screen mode.

       -*-  The	 user  interface,  through  prompts  and  help,	 intentionally
	    implies  that the delay interval is limited to tenths of a second.
	    However, you're free to set any desired delay.  If you want to see
	    Linux  at his scheduling best, try a delay of .09 seconds or less.

	    For this experiment, under x-windows open an  xterm	 and  maximize
	    it.	 Then do the following:
	      . provide a scheduling boost and tiny delay via:
		  nice -n -10 top -d.09
	      . keep sorted column highlighting Off to minimize
		path length
	      . turn On reverse row highlighting for emphasis
	      . try various sort columns (TIME/MEM work well),
		and normal or reverse sorts to bring the most
		active processes into view

	    What  you'll  see is a very busy Linux doing what he's always done
	    for you, but there was no program available to illustrate this.

       -*-  Under an xterm using 'white-on-black' colors,  try	setting	 top's
	    task  color	 to black and be sure that task highlighting is set to
	    bold, not reverse.	Then set the delay interval to around .3  sec-

	    After  bringing  the  most active processes into view, what you'll
	    see are the ghostly images of just the currently running tasks.

       -*-  Delete the existing rcfile, or create a new symlink.   Start  this
	    new	 version  then type 'T' (a secret key, see topic 3c. TASK Area
	    Commands, Sorting) followed by 'W' and 'q'.	 Finally, restart  the
	    program with -d0 (zero delay).

	    Your display will be refreshed at three times the rate of the for-
	    mer top, a 300% speed advantage.  As top climbs the	 TIME  ladder,
	    be	as  patient as you can while speculating on whether or not top
	    will ever reach the top.

   6b. Bouncing Windows
       For these stupid tricks, top needs alternate-display mode.

       -*-  With 3 or 4 task displays visible, pick any window other than  the
	    last  and turn idle processes Off.	Depending on where you applied
	    'i', sometimes several task displays are  bouncing	and  sometimes
	    it's like an accordion, as top tries his best to allocate space.

       -*-  Set	 each  window's summary lines differently: one with no memory;
	    another with no states; maybe one with nothing at  all,  just  the
	    message  line.  Then hold down 'a' or 'w' and watch a variation on
	    bouncing windows  --  hopping windows.

       -*-  Display all 4 windows and for each, in turn, set idle processes to
	    Off.  You've just entered the "extreme bounce" zone.

   6c. The Big Bird Window
       This stupid trick also requires alternate-display mode.

       -*-  Display  all  4  windows and make sure that 1:Def is the ?current'
	    window.  Then, keep increasing window size until the all the other
	    task displays are "pushed out of the nest".

	    When they've all been displaced, toggle between all visible/invis-
	    ible windows.  Then ponder this:
	       is top fibbing or telling honestly your imposed truth?

       Send bug reports to:
	  Albert D. Cahalan, <>

       The top command calculates Cpu(s) by looking at the change in CPU  time
       values  between samples. When you first run it, it has no previous sam-
       ple to compare to, so these initial values are  the  percentages	 since
       boot.  It  means you need at least two loops or you have to ignore sum-
       mary output from the first loop.	 This is problem for example for batch
       mode.  There is a possible workaround if you define the CPULOOP=1 envi-
       ronment variable. The top command will be run one extra hidden loop for
       CPU data before standard output.

8. HISTORY Former top
       The   original  top  was	 written  by  Roger  Binns,  based  on	Branko
       Lankester's <> ps program.

       Robert Nation <> adapted it  for  the
       proc file system.

       Helmut  Geyer  <>  added  support for
       configurable fields.

       Plus many other individuals contributed over the years.

       This entirely new and enhanced replacement was written by:
	  Jim / James C. Warner

VMSTAT – Linux Server Administrator’s Manual

       vmstat - Report virtual memory statistics

       vmstat [-a] [-n] [-S unit] [delay [ count]]
       vmstat [-s] [-n] [-S unit]
       vmstat [-m] [-n] [delay [ count]]
       vmstat [-d] [-n] [delay [ count]]
       vmstat [-p disk partition] [-n] [delay [ count]]
       vmstat [-f]
       vmstat [-V]

       vmstat  reports	information about processes, memory, paging, block IO,
       traps, and cpu activity.

       The first report produced gives averages since the last reboot.	 Addi-
       tional  reports	give information on a sampling period of length delay.
       The process and memory reports are instantaneous in either case.

       The -a switch displays active/inactive memory, given a 2.5.41 kernel or

       The  -f	switch displays the number of forks since boot.	 This includes
       the fork, vfork, and clone system calls, and is equivalent to the total
       number  of  tasks  created.  Each process is represented by one or more
       tasks, depending on thread usage.  This display does not repeat.

       The -m displays slabinfo.

       The -n switch causes the header to be displayed only once  rather  than

       The  -s	switch	displays  a table of various event counters and memory
       statistics. This display does not repeat.

       delay is the delay between updates in seconds.  If no delay  is	speci-
       fied, only one report is printed with the average values since boot.

       count  is the number of updates.	 If no count is specified and delay is
       defined, count defaults to infinity.

       The -d reports disk statistics (2.5.70 or above required)

       The -w enlarges field width for big memory sizes

       The -p followed by some partition name for detailed statistics  (2.5.70
       or above required)

       The  -S	followed  by  k	 or K or m or M switches outputs between 1000,
       1024, 1000000, or 1048576 bytes

       The -V switch results in displaying version information.

       r: The number of processes waiting for run time.
       b: The number of processes in uninterruptible sleep.

       swpd: the amount of virtual memory used.
       free: the amount of idle memory.
       buff: the amount of memory used as buffers.
       cache: the amount of memory used as cache.
       inact: the amount of inactive memory. (-a option)
       active: the amount of active memory. (-a option)

       si: Amount of memory swapped in from disk (/s).
       so: Amount of memory swapped to disk (/s).

       bi: Blocks received from a block device (blocks/s).
       bo: Blocks sent to a block device (blocks/s).

       in: The number of interrupts per second, including the clock.
       cs: The number of context switches per second.

       These are percentages of total CPU time.
       us: Time spent running non-kernel code. (user time, including nice time)
       sy: Time spent running kernel code. (system time)
       id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
       wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
       st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

       total: Total reads completed successfully
       merged: grouped reads (resulting in one I/O)
       sectors: Sectors read successfully
       ms: milliseconds spent reading

       total: Total writes completed successfully
       merged: grouped writes (resulting in one I/O)
       sectors: Sectors written successfully
       ms: milliseconds spent writing

       cur: I/O in progress
       s: seconds spent for I/O

       reads: Total number of reads issued to this partition
       read sectors: Total read sectors for partition
       writes : Total number of writes issued to this partition
       requested writes: Total number of write requests made for partition

       cache: Cache name
       num: Number of currently active objects
       total: Total number of available objects
       size: Size of each object
       pages: Number of pages with at least one active object
       totpages: Total number of allocated pages
       pslab: Number of pages per slab

       vmstat does not require special permissions.

       These reports are intended to help identify system bottlenecks.	 Linux
       vmstat does not count itself as a running process.

       All  linux  blocks  are	currently  1024	 bytes. Old kernels may report
       blocks as 512 bytes, 2048 bytes, or 4096 bytes.

       Since procps 3.1.9, vmstat lets you choose units (k, K, m,  M)  default
       is K (1024 bytes) in the default mode

       vmstat uses slabinfo 1.1	   FIXME


Overseas Trade Statistics – Non EU Related Data

The Overseas Trade Statistics (OTS) are a detailed dataset covering the UK’s trade in goods at a disaggregated country and product level. They are published monthly, quarterly and annually from trade declarations made using commodity codes from the UN Tariff (HS Nomenclature) and its EU derivative the Intrastat Classification Nomenclature (ICN). The OTS are published separately for Non-EU and EU trade and provide access to both aggregated and detailed data for over 9,000 commodities and 250 partner countries. Although approximate, the detailed data are suitable for trend analysis and for comparing the relative magnitude of components.

Users interested in UK trade in goods from a macro-economic perspective should be aware that the OTS are also component elements of both the UK Balance of Payments data published by the Office for National Statistics (ONS), and the European Statistical Office (Eurostat) publication of EU external trade. The basic differences between the publications are explained below.

The OTS are published as National Statistics by HM Revenue & Customs (HMRC). The OTS are based on the United Nation’s International Merchandise Trade Statistics Concepts and Definitions (IMTS), as interpreted in EU Statistical legislation. The Balance of Payments are based on the International Monetary Fund’s (IMF) Balance of Payments and International Investment Position Manual , (BPM5), the System of National Accounts (SNA93) and the European System of Accounts (ESA95).

The conceptual differences in the recording of international transactions in goods between IMTS and BPM5/SNA93 concerns the coverage, time of recording, valuation and classification of goods transactions. The main conceptual difference is that IMTS is based on the general principle to record all goods that add to or subtract from the stock of material resources of a country by entering (imports) or leaving (exports) its economic territory, while the recording of transactions in the Balance of Payments is based on the principle of change of ownership. Balance of Payments methodology is explained in greater detail on the ONS website.

The main differences between the OTS and Eurostat EU external trade publication relate to the basis of the recording of trade under rules referred to as ‘general trade’ and ‘special trade’.

OTS and ONS Balance of Payments data are published as ‘general trade’ based upon goods recorded as they enter or leave the UK. This will include goods imported into and exported from a freezone or customs warehouse, regardless of their future use. The ONS Balance of Payments data includes both Non-EU and EU data (and is seasonally adjusted).

Eurostat EU external trade data are published as ‘special trade’ whereby goods are recorded to trade only when they enter free circulation or are accepted into Inwards Processing Relief (IPR). Monetary gold is excluded from special trade.

These separate methods of publication are not the sole reason for the differences found when comparing the OTS and the external trade published by Eurostat. This explanation provides further details about instances where UK trade data compiled for the OTS differs from the data published by Eurostat on their statistical database (known as Comext).