TOP Description
Linux top command and is one of the most used and useful utility for real-time monitoring in daily system administrative jobs . top command displays processor activities, real time task managed by kernel ,processor and memory usages, running processes... etc. It displays an interactive interface for manipulating processes and it can sort the tasks by CPU usage, memory usage and runtime. Most features can either be selected by an interactive command or by command line operations which I'm going to describe in detail .Top is a part of the procps package, a set of Linux utilities that provide system information. Besides top, procps also includes free, vmstat, ps, and many other tools. So using top is like using ps, free, and uptime at the same time.
See below for more information
Fields Description in TOP
Top displays variety of details as shown in above
image. I am going to describe each filed for your convenience.
Uptime
- First highlighted field indicates the System current time (hour:minute:second), system uptime (hour:minute), number of active users using the system at the moment and three process load averages.
- Number of active user counts the number of pseudo terminals spawned under certain user ID privileges.It is not the number of currently logged-in users. Let's say you login into GNOME as "ravi" and then you spawn two xterm windows, then it counts you as three users. Top increments the number by one to account the existence of init process.
- The load averages are the average number of process ready to run during the last 1, 5 and 15 minutes. The uptime display may be toggled by the interactive l command.
- You can filter this fields using uptime command as well.
Processes
The total number of processes running at the time of the last update. This is also broken down into the number of tasks which are running, sleeping, stopped, or undead. The processes and states display may be toggled by the t interactive command.
Various processor states describes below:
- Running: this represents the number of tasks in a runnable state.
- Sleeping: processes being blocked due to waiting for an event (e.g., time out or I/O completion). It accounts for both interruptible (can be awaken earlier by SysV signal) or uninterruptible (completely ignoring SysV signal) processes.
- Stopped: the exact meaning here is "paused," not "terminated." In a terminal, you can stop a program by sending it a SIGSTOP signal or pressing Ctrl-Z if it's a foreground task.
- Zombie: "Zombie process is like a dead body without soul" . After a child task is terminated, it is cleaned up and the only thing left is a task descriptor that includes a very important value: exit status. So if the number of zombies is high, that is a sign that one or more programs have a bug properly terminating child tasks.
CPU states
Shows the percentage of CPU time in user mode, system mode, niced tasks, iowait and idle. (Niced tasks are only those whose nice value is positive.) Time spent in niced tasks will also be counted in system and user time, so the total will be more than 100%. The processes and states display may be toggled by the t interactive command.
%us and %sy, represent percentage of CPU time spent in user mode and kernel mode, respectively.
Memory Statistic
Command-Line Options
| 
-n | 
Number of iterations. Update the
  display this number of times and then exit,Iteration are equal to the number
  of updates. 
top –n <iteration> | 
| 
-d | 
top displays a variety of information
  about the processor state. The display is updated every 3 seconds by default
  Specifies the delay between screen updates. You can change this with the s
  interactive command.  
top –d <time in second> 
Ex : top –d 1 (update every 1 second) | 
| 
-p | 
Monitor only processes with given
  process id. This flag can be given up to twenty times. This option is neither
  available interactively nor can it be put into the configuration file.  
top –p <pid> | 
| 
-S | 
Specifies cumulative mode, where each process is listed with the CPU
  time that it as well as its dead children has spent. This is like the
  -S flag to ps(1).
  See the discussion below of the S interactive command.  | 
| 
-s | 
Tells top to run in secure mode. This disables the potentially
  dangerous of the interactive commands (see below). A secure top is a nifty
  thing to leave running on a spare terminal.  | 
| 
-i | 
Start top ignoring any idle or zombie processes. See the interactive
  command i below.  | 
| 
-C | 
display total CPU states instead of individual CPUs. This option only
  affects SMP systems | 
| 
-c | 
display command line instead of the command name only. The default behavior
  has been changed as this seems to be more useful.  | 
| 
-H | 
Show all threads.  | 
| 
-b | 
Batch mode. Useful for sending output from top to other programs or
  to a file useful when using at or cron. In this mode, top will not accept command line input. It runs
  until it produces the number of iterations requested with the -n option or
  until killed. Output is plain text suitable for display on a dumb terminal.  | 
Interactive Commands
Several single-key commands are recognized while top is running. Some are disabled if the s option has been given on the command line| 
q | 
Quit
  from top | 
| 
space | 
Immediately
  updates the display.  | 
| 
h
  or ? | 
Displays
  a help screen giving a brief summary of commands, and the status of secure
  and cumulative modes.  | 
| 
k | 
Kill
  a process. You will be prompted for the PID of the task, and the signal to
  send to it. For a normal kill, send signal 15. For a sure, but rather abrupt,
  kill, send signal 9. The default signal, as with kill(1), is 15, SIGTERM. This command is
  not available in secure mode | 
| 
i | 
Ignore
  idle and zombie processes. This is a toggle switch | 
| 
l | 
Toggle
  between Solaris (CPU percentage divided by total number of CPUs) and Irix
  (CPU percentage calculated solely by amount of time) views. This is a toggle
  switch that affects only SMP systems.  | 
| 
n
  or # | 
Change
  the number of processes to show. You will be prompted to enter the number.
  This overrides automatic determination of the number of processes to show,
  which is based on window size measurement. If 0 is specified, then top will
  show as many processes as will fit on the screen; this is the default.  | 
| 
r | 
Re-nice
  a process. You will be prompted for the PID of the task, and the value to
  nice it to. Entering a positve value will cause a process to be niced to
  negative values, and lose priority. If root is running top, a negative value
  can be entered, causing a process to get a higher than normal priority. The
  default renice value is 10. This command is not available in secure mode.  | 
| 
s | 
Change
  the delay between updates. You will be prompted to enter the delay time, in
  seconds, between updates. Fractional values are recognized down to
  microseconds. Entering 0 causes continuous updates. The default value is 3
  seconds. Note that low values cause nearly unreadably fast displays, and
  greatly raise the load. This command is not available in secure mode.  | 
| 
f
  or F | 
Add
  fields to display or remove fields from the display. See The Field and Order
  Screens more information.  | 
| 
o
  or O | 
Change
  order of displayed fields. See The Field and Order Screens more information.  | 
| 
l | 
toggle
  display of load average and uptime information | 
| 
m | 
toggle
  display of memory information.  | 
| 
t | 
toggle
  display of processes and CPU states information | 
| 
c | 
toggle
  display of command name or full command line.  | 
| 
N | 
sort
  tasks by pid (numerically).  | 
| 
A | 
sort
  tasks by age (newest first).  | 
| 
P | 
sort
  tasks by CPU usage (default).  | 
| 
M | 
sort
  tasks by resident memory usage.  | 
| 
T | 
sort
  tasks by time / cumulative time.  | 
The Field and Order Screen
In order to order the display the content of TOP. You can pressing f, F, o or O you will be shown a screen specifying the field order on the top line and short descriptions of the field contents. If the letter in the filed string corresponding to a field is upper case, the field will be displayed. From the order screen you may move a field to the left by pressing the corresponding upper case letter resp. to the right by pressing the lower case one.
References 
 
- 
Linux man page 
References
- Linux man page




