457 lines
14 KiB
Groff
457 lines
14 KiB
Groff
|
.\" This file Copyright 1992 Robert J. Nation
|
||
|
.\" (nation@rocket.sanders.lockheed.com)
|
||
|
.\" It may be distributed under the GNU Public License, version 2, or
|
||
|
.\" any higher version. See section COPYING of the GNU Public license
|
||
|
.\" for conditions under which this file may be redistributed.
|
||
|
.\"
|
||
|
.\" Modified 1994/04/25 Michael Shields <mjshield@nyx.cs.du.edu>
|
||
|
.\" Cleaned up, and my changes documented. New `.It' macro. Edited.
|
||
|
.\" modified 1996/01/27 Helmut Geyer to match my changes.
|
||
|
.
|
||
|
.de It
|
||
|
.TP 0.5i
|
||
|
.B "\\$1 "
|
||
|
..
|
||
|
.TH TOP 1 "Feb 1 1993" "Linux" "Linux User's Manual"
|
||
|
.SH NAME
|
||
|
top \- display top CPU processes
|
||
|
.SH SYNOPSIS
|
||
|
.B top
|
||
|
.RB [ \- ]
|
||
|
.RB [ d
|
||
|
.IR delay ]
|
||
|
.RB [ p
|
||
|
.IR pid ]
|
||
|
.RB [ q ]
|
||
|
.RB [ c ]
|
||
|
.RB [ C ]
|
||
|
.RB [ S ]
|
||
|
.RB [ s ]
|
||
|
.RB [ i ]
|
||
|
.RB [ n
|
||
|
.IR iter ]
|
||
|
.RB [ b ]
|
||
|
.SH DESCRIPTION
|
||
|
.B top
|
||
|
provides an ongoing look at processor activity in real time. It
|
||
|
displays a listing of the most CPU-intensive tasks on the system, and
|
||
|
can provide an interactive interface for manipulating processes.
|
||
|
It can sort the tasks by CPU usage, memory usage and runtime.
|
||
|
.N top
|
||
|
can be better configured than the standard top from the procps suite.
|
||
|
Most features can either be selected by an interactive command or by
|
||
|
specifying the feature in the personal or system-wide configuration
|
||
|
file. See below for more information.
|
||
|
.PP
|
||
|
.SH "COMMAND\-LINE OPTIONS"
|
||
|
.It d
|
||
|
Specifies the delay between screen updates. You can change this with
|
||
|
the
|
||
|
.B s
|
||
|
interactive command.
|
||
|
.It 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.
|
||
|
.It q
|
||
|
This causes
|
||
|
.B top
|
||
|
to refresh without any delay. If the caller has superuser priviledges,
|
||
|
top runs with the highest possible priority.
|
||
|
.It S
|
||
|
Specifies cumulative mode, where each process is listed with the CPU
|
||
|
time that it
|
||
|
.I as well as its dead children
|
||
|
has spent. This is like the
|
||
|
.B -S
|
||
|
flag to
|
||
|
.BR ps (1).
|
||
|
See the discussion below of the
|
||
|
.B S
|
||
|
interactive command.
|
||
|
.It s
|
||
|
Tells
|
||
|
.B top
|
||
|
to run in secure mode. This disables the potentially dangerous of the
|
||
|
interactive commands (see below). A secure
|
||
|
.B top
|
||
|
is a nifty thing to leave running on a spare terminal.
|
||
|
.It i
|
||
|
Start
|
||
|
.B top
|
||
|
ignoring any idle or zombie processes. See the interactive command
|
||
|
.B i
|
||
|
below.
|
||
|
.It C
|
||
|
display total CPU states in addition to individual CPUs. This option
|
||
|
only affects SMP systems.
|
||
|
.It c
|
||
|
display command line instead of the command name only. The default
|
||
|
behaviour has been changed as this seems to be more useful.
|
||
|
.It n
|
||
|
Number of iterations. Update the display this number of times and then exit.
|
||
|
.It b
|
||
|
Batch mode. Useful for sending output from top to other programs or to a file.
|
||
|
In this mode,
|
||
|
.B top
|
||
|
will not accept command line input. It runs until it produces the number of
|
||
|
iterations requested with the
|
||
|
.B n
|
||
|
option or until killed. Output is plain text suitable for display on a dumb
|
||
|
terminal.
|
||
|
.
|
||
|
.SH "FIELD DESCRIPTIONS"
|
||
|
.B top
|
||
|
displays a variety of information about the processor state. The
|
||
|
display is updated every 5 seconds by default, but you can change that
|
||
|
with the
|
||
|
.B d
|
||
|
command-line option or the
|
||
|
.B s
|
||
|
interactive command.
|
||
|
.It "uptime"
|
||
|
This line displays the time the system has been up, and the three load
|
||
|
averages for the system. The load averages are the average number of
|
||
|
process ready to run during the last 1, 5 and 15 minutes. This line is
|
||
|
just like the output of
|
||
|
.BR uptime (1).
|
||
|
The uptime display may be toggled by the interactive
|
||
|
.B l
|
||
|
command.
|
||
|
.It 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
|
||
|
.B t
|
||
|
interactive command.
|
||
|
.It "CPU states"
|
||
|
Shows the percentage of CPU time in user mode, system mode, niced tasks,
|
||
|
and idle. (Niced tasks are only those whose nice value is negative.)
|
||
|
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
|
||
|
.B t
|
||
|
interactive command.
|
||
|
.It Mem
|
||
|
Statistics on memory usage, including total available memory, free
|
||
|
memory, used memory, shared memory, and memory used for buffers. The
|
||
|
display of memory information may be toggled by the
|
||
|
.B m
|
||
|
interactive command.
|
||
|
.It Swap
|
||
|
Statistics on swap space, including total swap space, available swap
|
||
|
space, and used swap space. This and
|
||
|
.B Mem
|
||
|
are just like the output of
|
||
|
.BR free (1).
|
||
|
.It PID
|
||
|
The process ID of each task.
|
||
|
.It PPID
|
||
|
The parent process ID each task.
|
||
|
.It UID
|
||
|
The user ID of the task's owner.
|
||
|
.It USER
|
||
|
The user name of the task's owner.
|
||
|
.It PRI
|
||
|
The priority of the task.
|
||
|
.It NI
|
||
|
The nice value of the task. Negative nice values are higher priority.
|
||
|
.It SIZE
|
||
|
The size of the task's code plus data plus stack space, in kilobytes,
|
||
|
is shown here.
|
||
|
.It TSIZE
|
||
|
The code size of the task. This gives strange values for kernel
|
||
|
processes and is broken for ELF processes.
|
||
|
.It DSIZE
|
||
|
Data + Stack size. This is broken for ELF processes.
|
||
|
.It TRS
|
||
|
Text resident size.
|
||
|
.It SWAP
|
||
|
Size of the swapped out part of the task.
|
||
|
.It D
|
||
|
Size of pages marked dirty.
|
||
|
.It LC
|
||
|
Last used processor. (That this changes from time to time is not
|
||
|
a bug; Linux intentionally uses weak affinity. Also notice that
|
||
|
the very act of running top may break weak affinity and cause more
|
||
|
processes to change current CPU more often because of the extra
|
||
|
demand for CPU time.)
|
||
|
.It RSS
|
||
|
The total amount of physical memory used by the task, in kilobytes, is
|
||
|
shown here. For ELF processes used library pages are counted here, for
|
||
|
a.out processes not.
|
||
|
.It SHARE
|
||
|
The amount of shared memory used by the task is shown in this column.
|
||
|
.It STAT
|
||
|
The state of the task is shown here. The state is either
|
||
|
.B S
|
||
|
for sleeping,
|
||
|
.B D
|
||
|
for uninterruptible sleep,
|
||
|
.B R
|
||
|
for running,
|
||
|
.B Z
|
||
|
for zombies, or
|
||
|
.B T
|
||
|
for stopped or traced. These states are modified by trailing
|
||
|
.B <
|
||
|
for a process with negative nice value,
|
||
|
.B N
|
||
|
for a process with positive nice value,
|
||
|
.B W
|
||
|
for a swapped out process (this does not work correctly for kernel
|
||
|
processes).
|
||
|
.It WCHAN
|
||
|
depending on the availablity of either
|
||
|
.I /boot/psdatabase
|
||
|
or the kernel link map
|
||
|
.I /boot/System.map
|
||
|
this shows the address or the name of the kernel function the task
|
||
|
currently is sleeping in.
|
||
|
.It TIME
|
||
|
Total CPU time the task has used since it started. If cumulative mode
|
||
|
is on, this also includes the CPU time used by the process's children
|
||
|
which have died. You can set cumulative mode with the
|
||
|
.B S
|
||
|
command line option or toggle it with the interactive command
|
||
|
.BR S .
|
||
|
The header line will then be changed to
|
||
|
.BR CTIME .
|
||
|
.It %CPU
|
||
|
The task's share of the CPU time since the last screen update, expressed
|
||
|
as a percentage of total CPU time per processor.
|
||
|
.It %MEM
|
||
|
The task's share of the physical memory.
|
||
|
.It COMMAND
|
||
|
The task's command name, which will be truncated if it is too long to be
|
||
|
displayed on one line. Tasks in memory will have a full command line,
|
||
|
but swapped-out tasks will only have the name of the program in
|
||
|
parentheses (for example, "(getty)").
|
||
|
.It "A , WP"
|
||
|
these fields from the kmem top are not supported.
|
||
|
.
|
||
|
.SH "INTERACTIVE COMMANDS"
|
||
|
Several single-key commands are recognized while
|
||
|
.B top
|
||
|
is running. Some are disabled if the
|
||
|
.B s
|
||
|
option has been given on the command line.
|
||
|
.It space
|
||
|
Immediately updates the display.
|
||
|
.It ^L
|
||
|
Erases and redraws the screen.
|
||
|
.It "h\fR or \fB?"
|
||
|
Displays a help screen giving a brief summary of commands, and the
|
||
|
status of secure and cumulative modes.
|
||
|
.It 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
|
||
|
.BR kill (1),
|
||
|
is 15,
|
||
|
.BR SIGTERM .
|
||
|
This command is not available in secure mode.
|
||
|
.It i
|
||
|
Ignore idle and zombie processes. This is a toggle switch.
|
||
|
.It I
|
||
|
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.
|
||
|
.It "n\fR or \fB#"
|
||
|
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.
|
||
|
.It q
|
||
|
Quit.
|
||
|
.It 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
|
||
|
.BR 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.
|
||
|
.It S
|
||
|
This toggles cumulative mode, the equivalent of
|
||
|
.BR "ps -S" ,
|
||
|
i.e., that CPU times will include a process's defunct children. For
|
||
|
some programs, such as compilers, which work by forking into many
|
||
|
seperate tasks, normal mode will make them appear less demanding than
|
||
|
they actually are. For others, however, such as shells and
|
||
|
.BR init ,
|
||
|
this behavior is correct. In any case, try cumulative mode for an
|
||
|
alternative view of CPU use.
|
||
|
.It 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 5 seconds. Note that low values cause nearly
|
||
|
unreadably fast displays, and greatly raise the load. This command is
|
||
|
not available in secure mode.
|
||
|
.It "f\fR or \fBF"
|
||
|
Add fields to display or remove fields from the display. See below for
|
||
|
more information.
|
||
|
.It "o\fR or \fBO"
|
||
|
Change order of displayed fields. See below for more information.
|
||
|
.It l
|
||
|
toggle display of load average and uptime information.
|
||
|
.It m
|
||
|
toggle display of memory information.
|
||
|
.It t
|
||
|
toggle display of processes and CPU states information.
|
||
|
.It c
|
||
|
toggle display of command name or full command line.
|
||
|
.It N
|
||
|
sort tasks by pid (\fIn\fPumerically).
|
||
|
.It A
|
||
|
sort tasks by age (newest first).
|
||
|
.It P
|
||
|
sort tasks by CPU usage (default).
|
||
|
.It M
|
||
|
sort tasks by resident memory usage.
|
||
|
.It T
|
||
|
sort tasks by time / cumulative time.
|
||
|
.It W
|
||
|
Write current setup to
|
||
|
.IR ~/.toprc .
|
||
|
This is the recommended way to write a top configuration file.
|
||
|
.
|
||
|
.SH The Field and Order Screens
|
||
|
After pressing
|
||
|
.BR f ,
|
||
|
.BR F ,
|
||
|
.B o
|
||
|
or
|
||
|
.B O
|
||
|
you will be shown a screen specifying the field order on the top line
|
||
|
and short descriptions of the field contents. The field order string
|
||
|
uses the following syntax: If the letter in the filed string
|
||
|
corresponding to a field is upper case, the field will be displayed.
|
||
|
This is furthermore indicated by an asterisk in front of the field
|
||
|
description.
|
||
|
The order of the fields corresponds to the order of the letters in the
|
||
|
string.
|
||
|
From the field select screen you can toggle the display of a field by
|
||
|
pressing the corresponding letter.
|
||
|
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.
|
||
|
.
|
||
|
.SH Configuration Files
|
||
|
Top reads it's default configuration from two files,
|
||
|
.I /etc/toprc
|
||
|
and
|
||
|
.IR ~/.toprc .
|
||
|
The global configuration file may be used to restrict the usage of top
|
||
|
to the secure mode for non-priviledged users. If this is desired, the
|
||
|
file should contain a 's' to specify secure mode and a digit d (2<=d<=9)
|
||
|
for the default delay (in seconds) on a single line.
|
||
|
.
|
||
|
The personal configuration file contains two lines. The first line
|
||
|
contains lower and upper letters to specify which fields in what
|
||
|
order are to be displayed. The letters correspond to the letters in the
|
||
|
Fields or Order screens from top. As this is not very instructive, it is
|
||
|
recommended to select fields and order in a running top process and to
|
||
|
save this using the
|
||
|
.I W
|
||
|
interactive command.
|
||
|
.
|
||
|
The second line is more interesting (and important). It contains
|
||
|
information on the other options. Most important, if you have saved a
|
||
|
configuration in secure mode, you will not get an insecure top without
|
||
|
removing the lower 's' from the second line of your
|
||
|
.IR ~/.toprc .
|
||
|
A digit specifies the delay time between updates, a capital 'S'
|
||
|
cumulative mode, a lower 'i' no-idle mode, a capital 'I' Irix view. As
|
||
|
in interactive mode, a lower 'm', 'l', and 't' suppresses the display
|
||
|
of memory, uptime resp. process and CPU state information.
|
||
|
Currently changing the default sorting order (by CPU usage) is not
|
||
|
supported.
|
||
|
.
|
||
|
.SH NOTES
|
||
|
This
|
||
|
.BR proc -based
|
||
|
.B top
|
||
|
works by reading the files in the
|
||
|
.B proc
|
||
|
filesystem,
|
||
|
mounted on
|
||
|
.IR /proc .
|
||
|
If
|
||
|
.I /proc
|
||
|
is not mounted,
|
||
|
.B top
|
||
|
will not work.
|
||
|
.PP
|
||
|
.B %CPU
|
||
|
shows the cputime/realtime percentage in the period of time between
|
||
|
updates. For the first update, a short delay is used, and
|
||
|
.B top
|
||
|
itself dominates the CPU usage. After that,
|
||
|
.B top
|
||
|
will drop back, and a more reliable estimate of CPU usage is available.
|
||
|
.PP
|
||
|
The
|
||
|
.B SIZE
|
||
|
and
|
||
|
.B RSS fields don't count the page tables and the
|
||
|
.B task_struct
|
||
|
of a process; this is at least 12K of memory that is always resident.
|
||
|
.B SIZE
|
||
|
is the virtual size of the process (code+data+stack).
|
||
|
.PP
|
||
|
Keep in mind that a process must die for its time to be recorded on its
|
||
|
parent by cumulative mode. Perhaps more useful behavior would be to
|
||
|
follow each process upwards, adding time, but that would be more
|
||
|
expensive, possibly prohibitively so. In any case, that would make
|
||
|
.BR top 's
|
||
|
behavior incompatible with
|
||
|
.BR ps .
|
||
|
.
|
||
|
.SH FILES
|
||
|
.I /etc/toprc
|
||
|
The global configuration file.
|
||
|
.I ~/.toprc
|
||
|
The personal configuration file.
|
||
|
.
|
||
|
.SH "SEE ALSO"
|
||
|
.BR ps (1),
|
||
|
.BR free (1),
|
||
|
.BR uptime (1),
|
||
|
.BR kill (1),
|
||
|
.BR renice (1).
|
||
|
.
|
||
|
.SH
|
||
|
BUGS
|
||
|
If the window is less than about 70x7,
|
||
|
.B top
|
||
|
will not format information correctly.
|
||
|
Many fields still have problems with ELF processes.
|
||
|
the help screens are not yet optimized for windows with less than
|
||
|
25 lines
|
||
|
.
|
||
|
.SH AUTHOR
|
||
|
.B top
|
||
|
was originally written by Roger Binns, based on Branko Lankester's
|
||
|
<lankeste@fwi.uva.nl> ps program.
|
||
|
Robert Nation <nation@rocket.sanders.lockheed.com> re-wrote it
|
||
|
significantly to use the proc filesystem, based on Michael K. Johnson's
|
||
|
<johnsonm@redhat.com> proc-based ps program.
|
||
|
Michael Shields <mjshield@nyx.cs.du.edu> made many changes, including
|
||
|
secure and cumulative modes and a general cleanup.
|
||
|
Tim Janik <timj@gtk.org> added age sorting and the ability to monitor
|
||
|
specific processes through their ids.
|
||
|
|
||
|
Helmut Geyer <Helmut.Geyer@iwr.uni-heidelberg.de>
|
||
|
Heavily changed it to include support for configurable fields and other
|
||
|
new options, and did further cleanup and use of the new readproc interface.
|
||
|
|
||
|
The "b" and "n" options contributed by George Bonser <george@captech.com>
|
||
|
for CapTech IT Services.
|
||
|
|
||
|
Please send bug reports to <acahalan@cs.uml.edu>
|