| top | |
|---|---|
| | |
| Original author | William LeFebvre |
| Initial release | 1984 |
| Written in | C |
| Operating system | Unix-like |
| Type | Process viewer / System monitor |
top is a task manager or system monitor program, found in many Unix-like operating systems, that displays information about CPU and memory utilization.
The program produces an ordered list of running processes selected by user-specified criteria, and updates it periodically. Default ordering is by CPU usage, and only the top CPU consumers are shown (hence the name). top shows how much processing power and memory are being used, as well as other information about the running processes. Some versions of top allow extensive customization of the display, such as choice of columns or sorting method. top is useful for system administrators, as it shows which users and processes are consuming the most system resources at any given time.
There are several different versions of top. The traditional Unix version was written by William LeFebvre and originally copyrighted in 1984. [1] It is hosted on SourceForge, [2] and release 3.7 was announced in 2008. [3]
The Linux version of top is part of the procps-ng group of tools. It was originally written by Roger Binns [4] and released in early 1992 but shortly thereafter taken over by others. [5]
On Solaris, the roughly equivalent program is prstat. Microsoft Windows has the tasklist command and the graphical Task Manager utility. IBM AIX has an updating running processes list as part of the topas and topas_nmon commands.
The load average numbers in Linux refers to the sum of the number of processes waiting in the run-queue plus the number currently executing. The number is absolute, not relative. And thus it can be unbounded; unlike utilization. The instant variations of the number of processes are damped with an exponential decay formula which is calculated using fixed point math. [6]
The ps program is similar to top, but instead produces a snapshot of processes taken at the time of invocation. top's n (number of iterations) option can product a similar result, causing the program to run the specified number of iterations, then exit after printing its output.
The first 5 rows overview the entire system.
top - <templatestyles src="Template:Tooltip/styles.css" /><span class="rt-commentedText tooltip tooltip-dotted " title="{{#parsoid load average Tasks%Cpu(s)MiB Membuff/cache is for memory used by buffers and cache.MiB Swapavail MemThe rest of the text provides a table with each row being a process, with the following columns often used out of many possible columns (the choice and ordering of columns are configurable): [8]
{{#parsoidPIDUSER+ at the end.PRNIVIRTRESVIRT, this excludes memory that is swapped out, not yet used, or shared.SHRSR | running |
S | sleeping |
I | idle |
D | disk sleep (uninterruptible) |
Z | zombie (terminated but not reaped by its parent) |
T | stopped by a job control signal or t for stopped by debugger during tracing. |
%CPU%MEMTIME+minutes:seconds . The plus sign in TIME+ means that it is accurate to 0.01 second. If it shows TIME then it is accurate to 1 second.COMMANDUSER , if the command is too long, it is cut-off without a + at the end.top.