Top HV - Bchioss D Secs N Max U - U User P Pid O FLD W (Cols)
Top HV - Bchioss D Secs N Max U - U User P Pid O FLD W (Cols)
Top HV - Bchioss D Secs N Max U - U User P Pid O FLD W (Cols)
User Commands
TOP(1
NAME
top display Linux processes
SYNOPSIS
top hv|bcHiOSs d secs n max u|U user p pid o fld w [cols]
DESCRIPTION
The top program provides a dynamic real-time view of a running system. It can display system summary information as we
as a list of processes or threads currently being managed by the Linux kernel. The types of system summary informatio
shown and the types, order and size of information displayed for processes are all user configurable and that configuration ca
be made persistent across restarts.
The program provides a limited interactive interface for process manipulation as well as a much more extensive interface fo
personal configuration encompassing every aspect of its operation. And while top is referred to throughout this documen
you are free to name the program anything you wish. That new name, possibly an alias, will then be reflected on tops displa
and used when reading and writing a configuration file.
OVERVIEW
Documentation
The remaining Table of Contents
1. COMMANDLINE Options
2. SUMMARY Display
a. UPTIME and LOAD Averages
b. TASK and CPU States
c. MEMORY Usage
3. FIELDS / Columns Display
a. DESCRIPTIONS of Fields
b. MANAGING Fields
4. INTERACTIVE Commands
a. GLOBAL Commands
b. SUMMARY AREA Commands
c. TASK AREA Commands
1. Appearance
2. Content
3. Size
4. Sorting
d. COLOR Mapping
5. ALTERNATEDISPLAY Provisions
a. WINDOWS Overview
b. COMMANDS for Windows
c. SCROLLING a Window
d. SEARCHING in a Window
e. FILTERING in a Window
6. FILES
a. SYSTEM Configuration File
b. PERSONAL Configuration File
c. ADDING INSPECT Entries
7. STUPID TRICKS Sampler
a. Kernel Magic
bp b. Bouncing Windows
c. The Big Bird Window
d. The Ol Switcheroo
procps-ng
March 2013
8. BUGS, 9. HISTORY Former top, 10. AUTHOR, 11. SEE Also
TOP(1)
User Commands
TOP(1
Operation
When operating top, the two most important keys are the help (h or ?) key and quit (q) key. Alternatively, you could sim
ply use the traditional interrupt key (C) when youre done.
When started for the first time, youll be presented with these traditional elements on the main top screen: 1) Summary Area; 2
Fields/Columns Header; 3) Task Area. Each of these will be explored in the sections that follow. There is also an Input/Me
sage line between the Summary Area and Columns Header which needs no further explanation.
The main top screen is generally quite adaptive to changes in terminal dimensions under X-Windows. Other top screens ma
be less so, especially those with static text. It ultimately depends, however, on your particular window manager and termin
emulator. There may be occasions when their view of terminal size and current contents differs from tops view, which
always based on operating system calls.
Following any re-size operation, if a top screen is corrupted, appears incomplete or disordered, simply typing somethin
innocuous like a punctuation character or cursor motion key will usually restore it. In extreme cases, the following sequenc
almost certainly will:
key/cmd objective
Z
suspend top
fg
resume top
<Left> force a screen redraw (if necessary)
But if the display is still corrupted, there is one more step you could try. Insert this command after top has been suspended b
before resuming it.
key/cmd objective
reset restore your terminal settings
Note: the width of tops display will be limited to 512 positions. Displaying all fields requires approximately 250 character
Remaining screen width is usually allocated to any variable width columns currently visible. The variable width columns, suc
as COMMAND, are noted in topic 3a. DESCRIPTIONS of Fields. Actual output width may also be influenced by the
switch, which is discussed in topic 1. COMMANDLINE Options.
Lastly, some of tops screens or functions require the use of cursor motion keys like the standard arrow keys plus the Hom
End, PgUp and PgDn keys. If your terminal or emulator does not provide those keys, the following combinations are accepte
as alternatives:
key
equivalent-key-combinations
Up
alt + \
or alt + k
Down alt + /
or alt + j
Left alt + <
or alt + h
Right alt + >
or alt + l (lower case L)
PgUp alt + Up or alt + ctrl + k
PgDn alt + Down or alt + ctrl + j
Home alt + Left or alt + ctrl + h
End
alt + Right or alt + ctrl + l
The Up and Down arrow keys have special significance when prompted for line input terminated with the <Enter> key. Thos
keys, or their aliases, can be used to retrieve previous input lines which can then be edited and re-input. And there are fou
additional keys available with line oriented input.
key
special-significance
Up
recall older strings for re-editing
Down recall newer strings or erase entire line
Insert toggle between insert and overtype modes
Delete character removed at cursor, moving others left
Home jump to beginning of input line
End
jump to end of input line
bp
procps-ng
March 2013
Startup Defaults
The following startup defaults assume no configuration file, thus no user customizations. Even so, items shown with an asteris
TOP(1)
User Commands
TOP(1
(*) could be overridden through the command-line. All are explained in detail in the sections that follow.
Global-defaults
A - Alt display
Off (full-screen)
* d - Delay time
3.0 seconds
* H - Threads mode Off (summarize as tasks)
I - Irix mode
On (no, solaris smp)
* p - PID monitoring Off (show all processes)
* s - Secure mode
Off (unsecured)
B - Bold enable
On (yes, bold globally)
Summary-Area-defaults
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)
Task-Area-defaults
b - Bold hilite On (not reverse)
* c - Command line Off (name, not cmdline)
* i - Idle tasks
On (show all tasks)
J - Num align right On (not left justify)
j - Str align right Off (not right justify)
R - Reverse sort On (pids high-to-low)
* S - Cumulative time Off (no, dead children)
* u - User filter
Off (show euid only)
* U - User filter
Off (show any uid)
x - Column hilite Off (no, sort field)
y - Row hilite
On (yes, running tasks)
z - color/mono
Off (no, colors)
1. COMMAND-LINE Options
The command-line syntax for top consists of:
hv|bcHiOSs d secs n max u|U user p pid o fld w [cols]
The typically mandatory switches () and even whitespace are completely optional.
h | v :Help/Version
Show library version and the usage prompt, then quit.
b :Batch-mode operation
Starts top in Batch mode, which could be useful for sending output from top to other programs or to a file. In th
mode, top will not accept input and runs until the iterations limit youve set with the n commandline option or unt
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 wi
show program names, and visa versa. See the c interactive command for additional information.
procps-ng
bp Fractional seconds are honored, but a negative number is not allowed. In all cases, however, such changes are pro
hibited if top is running in Secure mode, except for root (unless the s commandline option was used). For addition
information on Secure mode see topic 6a. SYSTEM Configuration File.
March 2013
TOP(1)
User Commands
TOP(1
H :Threads-mode operation
Instructs top to display individual threads. Without this commandline option a summation of all threads in each proce
is shown. Later this can be changed with the H interactive command.
i :Idle-process toggle
Starts top with the last remembered i state reversed. When this toggle is Off, tasks that have not used any CPU since th
last update will not be displayed. For additional information regarding this toggle see topic 4c. TASK AREA Com
mands, SIZE.
n :Number-of-iterations limit as: n number
Specifies the maximum number of iterations, or frames, top should produce before ending.
O :Output-field-names
This option acts as a form of help for the above o option. It will cause top to print each of the available field names on
separate line, then quit. Such names are subject to nls translation.
This is a commandline option only and should you wish to return to normal operation, it is not necessary to quit an
restart top just issue any of these interactive commands: =, u or U.
The p, u and U commandline options are mutually exclusive.
s :Secure-mode operation
Starts top with secure mode forced, even for root. This mode is far better controlled through the system configuration fi
(see topic 6. FILES).
S :Cumulative-time toggle
Starts top with the last remembered S state reversed. When Cumulative time mode is On, each process is listed wi
the cpu time that it and its dead children have used. See the S interactive command for additional information regard
ing this mode.
Prepending an exclamation point (!) to the user id or name instucts top to display only processes with users not match
ing the one provided.
The p, u and U commandline options are mutually exclusive.
bp
procps-ng
March 2013
w :Output-width-override as: -w [ number ]
In Batch mode, when used without an argument top will format output using the COLUMNS= and LINES
TOP(1)
User Commands
TOP(1
environment variables, if set. Otherwise, width will be fixed at the maximum 512 columns. With an argument, outp
width can be decreased or increased (up to 512) but the number of rows is considered unlimited.
In normal display mode, when used without an argument top will attempt to format output using the COLUMNS= an
LINES= environment variables, if set. With an argument, output width can only be decreased, not increased. Wheth
using environment variables or an argument with w, when not in Batch mode actual terminal dimensions can never b
exceeded.
Note: Without the use of this commandline option, output width is always based on the terminal at which top wa
invoked whether or not in Batch mode.
2. SUMMARY Display
Each of the following three areas are individually controlled through one or more interactive commands. See topic 4b. SUM
MARY AREA Commands for additional information regarding these provisions.
2a. UPTIME and LOAD Averages
This portion consists of a single line containing:
program or window name, depending on display mode
current time and length of time since last boot
total number of users
system load avg over the last 1, 5 and 15 minutes
Line 2 shows CPU state percentages based on the interval since the last refresh. Where two labels are shown below, those fo
more recent kernel versions are shown first.
us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor
TOP(1)
User Commands
TOP(1
3. FIELDS / Columns
Any field is selectable as the sort field, and you control whether they are sorted high-to-low or low-to-high. For addition
information on sort provisions see topic 4c. TASK AREA Commands, SORTING.
The fields related to physical memory or virtual memory reference (KiB) as the default, unsuffixed display mode. Such field
can, however, be scaled differently via the e interactive command.
1. %CPU CPU Usage
The tasks 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 a process is multi-threaded and top is not operating in Threads mode, amounts greater tha
100% may be reported. You toggle Threads mode with the H interactive command.
Also for multi-processor environments, if Irix mode is Off, top will operate in Solaris mode where a tasks cpu usag
will be divided by the total number of CPUs. You toggle Irix/Solaris modes with the I interactive command.
2. %MEM Memory Usage (RES)
A tasks currently used share of available physical memory.
3. CGROUPS Control Groups
The names of the control group(s) to which a process belongs, or if not applicable for that process.
Control Groups provide for allocating resources (cpu, memory, network bandwidth, etc.) among installation-define
groups of processes. They enable fine-grained control over allocating, denying, prioritizing, managing and monitorin
those resources.
Many different hierarchies of cgroups can exist simultaneously on a system and each hierarchy is attached to one or mo
subsystems. A subsystem represents a single resource.
Note: The CGROUPS field, unlike most columns, is not fixed-width. When displayed, it plus any other variable wid
columns will be allocated all remaining screen width (up to the maximum 512 characters). Even so, such variable wid
fields could still suffer truncation. See topic 5c. SCROLLING a Window for additional information on accessing any trun
cated data.
4. CODE Code Size (KiB)
The amount of physical memory devoted to executable code, also known as the text resident set size or TRS.
When youve chosen to display command lines, processes without a command line (like kernel threads) will be show
with only the program name in brackets, as in this example:
[kthreadd]
This field may also be impacted by the forest view display mode. See the V interactive command for additional info
mation regarding that mode.
procps-ng
bp Note: The COMMAND field, unlike most columns, is not fixed-width. When displayed, it plus any other variab
width columns will be allocated all remaining screen width (up to the maximum 512 characters). Even so, such variab
width fields could still suffer truncation. This is especially true for this field when command lines are being displayed (th
March 2013
c interactive command.) See topic 5c. SCROLLING a Window for additional information on accessing any truncate
data.
TOP(1)
User Commands
TOP(1
Note: The ENVIRON field, unlike most columns, is not fixed-width. When displayed, it plus any other variable wid
columns will be allocated all remaining screen width (up to the maximum 512 characters). Even so, such variable wid
fields could still suffer truncation. This is especially true for this field. See topic 5c. SCROLLING a Window for add
tional information on accessing any truncated data.
This value may also be used as: a process group ID (see PGRP); a session ID for the session leader (see SID); a threa
group ID for the thread group leader (see TGID); and a TTY process group ID for the process group leader (see TPGID).
15. PPID Parent Process Id
The process ID (pid) of a tasks parent.
16. PR Priority
The scheduling priority of the task. If you see rt in this field, it means the task is running under real time schedulin
priority.
bp Under linux, real time priority is somewhat misleading since traditionally the operating itself was not preemptabl
And while the 2.6 kernel can be made mostly preemptable, it is not always so.
procps-ng
March 2013
TOP(1)
User Commands
TOP(1
Tasks shown as running should be more properly thought of as ready to run their task_struct is simply represente
on the Linux run-queue. Even without a true SMP machine, you may see numerous tasks in this state depending on top
delay interval and nice value.
Note: The SUPGIDS field, unlike most columns, is not fixed-width. When displayed, it plus any other variable wid
columns will be allocated all remaining screen width (up to the maximum 512 characters). Even so, such variable wid
fields could still suffer truncation. See topic 5c. SCROLLING a Window for additional information on accessing any trun
cated data.
Note: The SUPGRPS field, unlike most columns, is not fixed-width. When displayed, it plus any other variable wid
columns will be allocated all remaining screen width (up to the maximum 512 characters). Even so, such variable wid
fields could still suffer truncation. See topic 5c. SCROLLING a Window for additional information on accessing any trun
cated data.
bp
procps-ng
26. SUSER Saved User Name
The saved user name.
March 2013
TOP(1)
User Commands
TOP(1
By displaying this field, tops own working set could be increased by over 700Kb, depending on the kernel versio
Should that occur, your only means of reducing that overhead will be to stop and restart top.
bp
39. nMaj Major 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 fro
procps-ng
March 2013
or write to a virtual page that is not currently present in its address space. A major page fault is when auxiliary storag
TOP(1)
User Commands
TOP(1
As the on screen instructions indicate, you navigate among the fields with the Up and Down arrow keys. The PgU
PgDn, Home and End keys can also be used to quickly reach the first or last available field.
The Right arrow key selects a field for repositioning and the Left arrow key or the <Enter> key commits that field
placement.
The d key or the <Space> bar toggles a fields display status, and thus the presence or absence of the asterisk.
The s key designates a field as the sort field. See topic 4c. TASK AREA Commands, SORTING for additional info
mation regarding your selection of a sort field.
The a and w keys can be used to cycle through all available windows and the q or <Esc> keys exit Fields Man
agement.
The Fields Management screen can also be used to change the current window/field group in either fullscreen mode or alte
natedisplay mode. Whatever was targeted when q or <Esc> was pressed will be made current as you return to the top di
play. See topic 5. ALTERNATEDISPLAY Provisions and the g interactive command for insight into current windows an
field groups.
Note: Any window that has been scrolled horizontally will be reset if any field changes are made via the Fields Manageme
screen. Any vertical scrolled position, however, will not be affected. See topic 5c. SCROLLING a Window for addition
information regarding vertical and horizontal scrolling.
4. INTERACTIVE Commands
Listed below is a brief index of commands within categories. Some commands appear more than once their meaning o
scope may vary depending on the context in which they are issued.
4a. Global-Commands
<Ent/Sp> ?, =, 0,
A, B, d, E, e, g, h, H, I, k, q, r, s, W, X, Y, Z
bp 4b. Summary-Area-Commands
C, l, t, m, 1, 2, 3
4c. Task-Area-Commands
procps-ng
March 2013
Appearance: b, J, j, x, y, z
TOP(1)
User Commands
TOP(1
Size:
#, i, n
Sorting: <, >, f, F, R
4d. Color-Mapping
<Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
5b. Commands-for-Windows
-, _, =, +, A, a, g, G, w
5c. Scrolling-a-Window
C, Up, Dn, Left, Right, PgUp, PgDn, Home, End
5d. Searching-in-a-Window
L, &
If you wish to know in advance whether or not your top has been secured, simply ask for help and view the system summary o
the second line.
Typing h or ? on that help screen will take you to help for those interactive commands applicable to alternatedi
play mode.
= :Exit-Task-Limits
Removes restrictions on which tasks are shown. This command will reverse any i (idle tasks) and n (max task
commands that might be active. It also provides for an exit from pid monitoring, user filtering and other filterin
See the p commandline option for a discussion of PID monitoring, the U or u interactive commands for us
filtering and the O or o interactive commands for other filtering.
Additionally, any window that has been scrolled will be reset with this command. See topic 5c. SCROLLING a Win
dow for additional information regarding vertical and horizontal scrolling.
When operating in alternatedisplay mode this command has a broader meaning.
0 :Zero-Suppress toggle
This command determines whether zeros are shown or suppressed for many of the fields in a task window. Fields lik
UID, GID, NI, PR or P are not affected by this toggle.
A :Alternate-Display-Mode toggle
This command will switch between fullscreen mode and alternatedisplay mode. See topic 5. ALTERNATEDIS
PLAY Provisions and the g interactive command for insight into current windows and field groups.
bp
B :Bold-Disable/Enable toggle
This command will influence use of the bold terminfo capability and alters both the summary area and task area fo
procps-ng
March 2013
1
the current window. While it is intended primarily for use with dumb terminals, it can be applied anytime.
TOP(1)
User Commands
TOP(1
Note: When this toggle is On and top is operating in monochrome mode, the entire display will appear as normal tex
Thus, unless the x and/or y toggles are using reverse for emphasis, there will be no visual confirmation that they a
even on.
* d | 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 update
with an unsatisfactory display as the system and tty driver try to keep up with tops demands. The delay value
inversely proportional 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 se
ond line.
If you see a + between a displayed number and the following label, it means that top was forced to truncate som
portion of that number. By raising the scaling factor, such truncation can be avoided.
While top will try to honor the selected target range, additional scaling might still be necessary in order to accommo
date current values. If you wish to see a more homogeneous result in the memory columns, raising the scaling rang
will usually accomplish that goal. Raising it too high, however, is likely to produce an all zero result which cannot b
suppressed with the 0 interactive command.
g :Choose-Another-Window/Field-Group
You will be prompted to enter a number between 1 and 4 designating the field group which should be made the cu
rent window. You will soon grow comfortable with these 4 windows, especially after experimenting with alte
natedisplay mode.
H :Threads-mode toggle
When this toggle is On, individual threads will be displayed for all processes in all visible task windows. Otherwis
top displays a summation of all threads in each process.
I :Irix/Solaris-Mode toggle
When operating in Solaris mode (I toggled Off), a tasks cpu usage will be divided by the total number of CPU
After issuing this command, youll be told the new state of this toggle.
* k :Kill-a-task
You will be prompted for a PID and then the signal to send.
Entering no PID or a negative number will be interpreted as the default shown in the prompt (the first task displayed
A PID value of zero means the top program itself.
The default signal, as reflected in the prompt, is SIGTERM. However, you can send any signal, via number or name.
procps-ng
If you wish to abort the kill process, do one of the following depending on your progress:
bp 1) at the pid prompt, type an invalid number
2) at the signal prompt, type 0 (or any invalid signal)
March 2013
TOP(1)
User Commands
TOP(1
q :Quit
* r :Renice-a-Task
You will be prompted for a PID and then the value to nice it to.
Entering no PID or a negative number will be interpreted as the default shown in the prompt (the first task displayed
A PID value of zero means the top program itself.
A positive nice value will cause a process to lose priority. Conversely, a negative nice value will cause a process to b
viewed more favorably by the kernel. As a general rule, ordinary users can only increase the nice value and are pr
vented from lowering it.
If you wish to abort the renice process, do one of the following depending on your progress:
1) at the pid prompt, type an invalid number
2) at the nice prompt, type <Enter> with no input
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 comman
just before quitting top, you will be able restart later in exactly that same state.
X :Extra-Fixed-Width
Some fields are fixed width and not scalable. As such, they are subject to truncation which would be indicated by a +
in the last position.
This interactive command can be used to alter the widths of the following fields:
field default field default field default
GID
5
GROUP 8
WCHAN 10
RUID
5
RUSER 8
SUID
5
SUSER 8
UID
5
USER
8
TTY
8
You will be prompted for the amount to be added to the default widths shown above. Entering zero forces a return
those defaults.
If you enter a negative number, top will automatically increase the column size as needed until there is no more trun
cated data. You can accelerate this process by reducing the delay interval or holding down the <Space> bar.
Note: Whether explicitly or automatically increased, the widths for these fields are never decreased by top. To narro
them you must specify a smaller number or restore the defaults.
Y :Inspect-Other-Output
After issuing the Y interactive command, you will be prompted for a target PID. Typing a value or accepting th
default results in a separate screen. That screen can be used to view a variety of files or piped command output whi
the normal top iterative display is paused.
Note: This interactive command is only fully realized when supporting entries have been manually added to the end o
the top configuration file. For details on creating those entries, see topic 6c. ADDING INSPECT Entries.
procps-ng
Most of the keys used to navigate the Inspect feature are reflected in its header prologue. There are, however, add
tional keys available once you have selected a particular file or command. They are familiar to anyone who has use
the pager less and are summarized here for future reference.
bp
key
function
=
alternate statusline, file or pipeline
March 2013
1
/
find, equivalent to L locate
TOP(1)
User Commands
TOP(1
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 win
dows. For details regarding this interactive command see topic 4d. COLOR Mapping.
*
The commands shown with an asterisk (*) are not available in Secure mode, nor will they be shown on the level-1 he
screen.
These commands always impact just the current window/field group. See topic 5. ALTERNATEDISPLAY Provisions an
the g interactive command for insight into current windows and field groups.
C :Show-scroll-coordinates toggle
Toggle an informational message which is displayed whenever the message line is not otherwise being used. For add
tional information see topic 5c. SCROLLING a Window.
l :Load-Average/Uptime toggle
This is also the line containing the program name (possibly an alias) when operating in fullscreen mode or the cu
rent window name when operating in alternatedisplay mode.
t :Task/Cpu-States toggle
This command affects from 2 to many summary area lines, depending on the state of the 1, 2 or 3 command tog
gles and whether or not top is running under true SMP.
This portion of the summary area is also influenced by the H interactive command toggle, as reflected in the tot
label which shows either Tasks or Threads.
m :Memory/Swap-Usage toggle
This command affects the two summary area lines dealing with physical and virtual memory.
1 :Single/Separate-Cpu-States toggle
This command affects how the t commands Cpu States portion is shown. Although this toggle exists primarily
serve massively-parallel SMP machines, it is not restricted to solely SMP environments.
When you see %Cpu(s): in the summary area, the 1 toggle is On and all cpu information is gathered in a single lin
Otherwise, each cpu is displayed separately as: %Cpu0, %Cpu1, ... up to available screen height.
2 :NUMA-Nodes/Cpu-Summary toggle
This command toggles between the 1 command cpu summary display (only) or a summary display plus the cp
usage statistics for each NUMA Node. It is only available if a system has the requisite NUMA support.
bp
3 :Expand-NUMA-Node
You will be invited to enter a number representing a NUMA Node. Thereafter, a node summary plus the statistics fo
procps-ng
March 2013
1
each cpu in that node will be shown until either the 1 or 2 command toggle is pressed. This interactive command
only available if a system has the requisite NUMA support.
TOP(1)
User Commands
TOP(1
Note: If the entire summary area has been toggled Off for any window, you would be left with just the message line. In th
way, you will have maximized available task rows but (temporarily) sacrificed the program name in fullscreen mode or th
current window name when in alternatedisplay mode.
4c. TASK AREA Commands
The task area interactive commands are always available in fullscreen mode.
The task area interactive commands are never available in alternatedisplay mode if the current windows task display ha
been toggled Off (see topic 5. ALTERNATEDISPLAY Provisions).
j :Justify-Character-Columns toggle
Alternates between left-justified (the default) and right-justified character data. If the character data completely fil
the available column, this command toggle may impact the column header only.
The following commands will also be influenced by the state of the global B (bold enable) toggle.
b :Bold/Reverse toggle
This command will impact how the x and y toggles are displayed. Further, it will only be available when at lea
one of those toggles is On.
x :Column-Highlight toggle
Changes highlighting for the current sort field. If you forget which field is being sorted this command can serve as
quick visual reminder, providing the sort field is being displayed. The sort field might not be visible because:
1) there is insufficient Screen Width
2) the f interactive command turned it Off
y :Row-Highlight toggle
Changes highlighting for "running" tasks. For additional insight into this task state, see topic 3a. DESCRIPTIONS o
Fields, the S field (Process Status).
Use of this provision provides important insight into your systems health. The only costs will be a few additional t
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.
f | F :Fields-Management
These keys display a separate screen where you can change which fields are displayed, their order and also designa
the sort field. For additional information on these interactive commands see topic 3b. MANAGING Fields.
bp
o | O :Other-Filtering
You will be prompted for the selection criteria which then determines which tasks will be shown in the curren
procps-ng
March 2013
1
window. Your criteria can be made case sensitive or case can be ignored. And you determine if top should include o
exclude matching tasks.
TOP(1)
User Commands
TOP(1
See topic 5e. FILTERING in a window for details on these and additional related interactive commands.
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 she
this is appropriate but for others, like compilers, perhaps not. Experiment with two task windows sharing the sam
sort field but with different S states and see which representation you prefer.
After issuing this command, youll be informed of the new state of this toggle. If you wish to know in advanc
whether or not Cumulative mode is in effect, simply ask for help and view the window summary on the second line.
u | U :Show-Specific-User-Only
You will be prompted for the uid or name of the user to display. The u option matches on effective user wherea
the U option matches on any user (real, effective, saved, or filesystem).
Thereafter, in that task window only matching users will be shown, or possibly no processes will be shown. Prepend
ing an exclamation point (!) to the user id or name instucts top to display only processes with users not matching th
one provided.
Different task windows can be used to filter different users. Later, if you wish to monitor all users again in the cu
rent window, re-issue this command but just press <Enter> at the prompt.
V :Forest-View-Mode toggle
In this mode, processes are reordered according to their parents and the layout of the COMMAND column resemble
that of a tree. In forest view mode it is still possible to toggle between program name and commamd line (see the
interactive command) or between processes and threads (see the H interactive command).
Note: Typing any key affecting the sort order will exit forest view mode in the current window. See topic 4c. TAS
AREA Commands, SORTING for information on those keys.
If this command is applied to the last task display when in alternatedisplay mode, then it will not affect the window
size, as all prior task displays will have already been painted.
n | # :Set-Maximum-Tasks
You will be prompted to enter the number of tasks to display. The lessor of your number and available screen row
will be used.
When used in alternatedisplay mode, this is the command that gives you precise control over the size of each cu
rently visible task display, except for the very last. It will not affect the last windows size, as all prior task display
will have already been painted.
Note: If you wish to increase the size of the last visible task display when in alternatedisplay mode, simply decreas
the size of the task display(s) above it.
TOP(1)
User Commands
TIME+
TOP(1
Yes
Before using any of the following sort provisions, top suggests that you temporarily turn on column highlighting using th
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 current sort field is visible. The sort field might not b
visible because:
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 | F :Fields-Management
These keys display a separate screen where you can change which field is used as the sort column, among other fun
tions. This can be a convenient way to simply verify the current sort field, when running top with column highlightin
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 display. Thus, the TTY and WCHAN fields will violate stri
ASCII collating sequence.
If you use a or w to cycle the targeted window, you will have applied the color scheme that was displayed when you left th
window. You can, of course, easily return to any window and reapply different colors or turn colors Off completely with the
toggle.
The Color Mapping screen can also be used to change the current window/field group in either fullscreen mode or alte
natedisplay mode. Whatever was targeted when q or <Enter> was pressed will be made current as you return to the top di
play.
bp
5. ALTERNATEDISPLAY Provisions
procps-ng
5a. WINDOWS Overview
March 2013
TOP(1)
User Commands
TOP(1
Field Groups/Windows:
In fullscreen mode there is a single window represented by the entire screen. That single window can still be changed
display 1 of 4 different field groups (see the g interactive command, repeated below). Each of the 4 field groups has
unique separately configurable summary area and its own configurable task area.
In alternatedisplay mode, those 4 underlying field groups can now be made visible simultaneously, or can be turned O
individually at your command.
The summary area will always exist, even if its only the message line. At any given time only one summary area can b
displayed. However, depending on your commands, there could be from zero to four separate task displays currently show
ing on the screen.
Current Window:
The current window is the window associated with the summary area and the window to which task related commands a
always directed. Since in alternatedisplay mode you can toggle the task display Off, some commands might be restricte
for the current window.
A further complication arises when you have toggled the first summary area line Off. With the loss of the window nam
(the l toggled line), youll not easily know what window is the current window.
The _ key does the same for all task displays. In other words, it switches between the currently visible task di
play(s) and any task display(s) you had toggled Off. If all 4 task displays are currently visible, this interactive com
mand will leave the summary area as the only display element.
* = | + :Equalize-(reinitialize)-Window(s)
The = key forces the current windows task display to be visible. It also reverses any i (idle tasks), n (ma
tasks), u/U (user filter) and o/O (other filter) commands that might be active. Also, if the window had bee
scrolled, it will be reset with this command. See topic 5c. SCROLLING a Window for additional information regard
ing vertical and horizontal scrolling.
The + key does the same for all windows. The four task displays will reappear, evenly balanced. They will also hav
retained any customizations you had previously applied, except for the i (idle tasks), n (max tasks), u/U (user fi
ter), o/O (other filter) and scrolling interactive commands.
* A :Alternate-Display-Mode toggle
This command will switch between fullscreen mode and alternatedisplay mode.
The first time you issue this command, all four task displays will be shown. Thereafter when you switch modes, yo
will see only the task display(s) youve chosen to make visible.
* a | w :Next-Window-Forward/Backward
This will change the current window, which in turn changes the window to which commands are directed. Thes
keys act in a circular 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 i
emphasis/color, thats a reminder the task display is Off and many commands will be restricted.
bp
* g :Choose-Another-Window/Field-Group
You will be prompted to enter a number between 1 and 4 designating the field group which should be made th
procps-ng
March 2013
1
current window.
TOP(1)
User Commands
TOP(1
In fullscreen mode, this command is necessary to alter the current window. In alternatedisplay mode, it is simp
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 current window. It does not require that the window nam
be visible (the l toggle to be On).
*
The interactive commands shown with an asterisk (*) have use beyond alternatedisplay mode.
=, A, g are always available
a, w
act the same with color mapping
and fields management
Up,PgUp :Scroll-Tasks
Move the view up toward the first task row, until the first task is displayed at the top of the current window. The U
arrow key moves a single line while PgUp scrolls the entire window.
Down,PgDn :Scroll-Tasks
Move the view down toward the last task row, until the last task is the only task displayed at the top of the current win
dow. The Down arrow key moves a single line while PgDn scrolls the entire window.
Left,Right :Scroll-Columns
Move the view of displayable fields horizontally one column at a time.
Note: As a reminder, some fields/columns are not fixed-width but allocated all remaining screen width when visibl
When scrolling right or left, that feature may produce some unexpected results initially.
Additionally, there are special provisions for any variable width field when positioned as the last displayed field. Onc
that field is reached via the right arrow key, and is thus the only column shown, you can continue scrolling horizontal
within such a field. See the C interactive command below for additional information.
Home :Jump-to-Home-Position
Reposition the display to the un-scrolled coordinates.
End :Jump-to-End-Position
Reposition the display so that the rightmost column reflects the last displayable field and the bottom task row represen
the last task.
Note: From this position it is still possible to scroll down and right using the arrow keys. This is true until a single colum
and a single task is left as the only display element.
C :Show-scroll-coordinates toggle
Toggle an informational message which is displayed whenever the message line is not otherwise being used. That me
sage will take one of two forms depending on whether or not a variable width column has also been scrolled.
scroll coordinates: y = n/n (tasks), x = n/n (fields)
scroll coordinates: y = n/n (tasks), x = n/n (fields) + nn
The coordinates shown as n/n are relative to the upper left corner of the current window. The additional + nn repr
sents the displacement into a variable width column when it has been scrolled horizontally. Such displacement occurs
normal 8 character tab stop amounts via the right and left arrow keys.
bp
procps-ng
March 2013
1
y = n/n (tasks)
The first n represents the topmost visible task and is controlled by scrolling keys. The second n is update
TOP(1)
User Commands
TOP(1
x = n/n (fields)
The first n represents the leftmost displayed column and is controlled by scrolling keys. The second n is the tot
number of displayable fields and is established with the f interactive command.
The above interactive commands are always available in fullscreen mode but never available in alternatedisplay mode if th
current windows task display has been toggled Off.
Note: When any form of filtering is active, you can expect some slight abberations when scrolling since not all tasks will b
visible. This is paticularly apparent when using the Up/Down arrow keys.
5d. SEARCHING in a Window
You can use these interactive commands to locate a task row containing a particular value.
L :Locate-a-string
You will be prompted for the case-sensitive string to locate starting from the current window coordinates. There are n
restrictions on search string content.
Searches are not limited to values from a single field or column. All of the values displayed in a task row are allowed in
search string. You may include spaces, numbers, symbols and even forest view artwork.
Keying <Enter> with no input will effectively disable the & key until a new search string is entered.
& :Locate-next
Assuming a search string has been established, top will attempt to locate the next occurrence.
When a match is found, the current window is repositioned vertically so the task row containing that string is first. The scro
coordinates message can provide confirmation of such vertical repositioning (see the C interactive command). Horizont
scrolling, however, is never altered via searching.
The availability of a matching string will be influenced by the following factors.
a. Which fields are displayable from the total available,
see topic 3b. MANAGING Fields.
b. Scrolling a window vertically and/or horizontally,
see topic 5c. SCROLLING a Window.
c. The state of the command/command-line toggle,
see the c interactive command.
d. The stability of the chosen sort column,
for example PID is good but %CPU bad.
If a search fails, restoring the current window home (unscrolled) position, scrolling horizontally, displaying command-lines o
choosing a more stable sort field could yet produce a successful & search.
The above interactive commands are always available in fullscreen mode but never available in alternatedisplay mode if th
current windows task display has been toggled Off.
Note: Whenever a search key is typed, top will turn column highlighting Off to prevent false matches on internal non-displa
escape sequences. Such highlighting will be restored when a windows search string is empty. See the x interactive comman
for additional information on sort column highlighting.
TOP(1)
User Commands
.
.
.
.
.
.
.
.
TOP(1
If a field is not turned on or is not currently in view, then your selection criteria will not affect the display. Later, should a fi
tered field become visible, the selection criteria will then be applied.
Keyboard Summary
o :Other-Filter (lower case)
You will be prompted to establish a filter that ignores case when matching.
O :Other-Filter (upper case)
You will be prompted to establish a case sensitive filter.
Input Requirements
When prompted for selection criteria, the data you provide must take one of two forms. There are 3 required pieces o
information, with a 4th as optional. These examples use spaces for clarity but your input generally would not.
#1
#2 #3
( required )
FieldName ? includeifvalue
! FieldName ? excludeifvalue
#4
( optional )
Items #1, #3 and #4 should be selfexplanatory. Item #2 represents both a required delimiter and the operator which mu
be one of either equality (=) or relation (< or >).
The = equality operator requires only a partial match and that can reduce your ifvalue input requirements. The > o
< relational operators always employ string comparisons, even with numeric fields. They are designed to work with
fields default justification and with homogeneous data. When some fields numeric amounts have been subjected to scalin
while others have not, that data is no longer homogeneous.
If you establish a relational filter and you have changed the default Numeric or Character justification, that filter is like
to fail. When a relational filter is applied to a memory field and you have not changed the scaling, it may produce mislead
ing results. This happens, for example, because 100.0m (MiB) would appear greater than 1.000g (GiB) when compare
as strings.
If your filtered results appear suspect, simply altering justification or scaling may yet achieve the desired objective. See th
j, J and e interactive commands for additional information.
bp
Potential Problems
procps-ng
March 2013
2
These GROUP filters could produce the exact same results or the second one might not display anything at all, just a blan
task window.
TOP(1)
User Commands
TOP(1
GROUP=root
( only the same results when )
GROUP=ROOT
( invoked via lower case o )
Either of these RES filters might yield inconsistent and/or misleading results, depending on the current memory scaling fa
tor. Or both filters could produce the exact same results.
RES>9999
( only the same results when )
!RES<10000
( memory scaling is at KiB )
This nMin filter illustrates a problem unique to scalable fields. This particular field can display a maximum of 4 digit
beyond which values are automatically scaled to KiB or above. So while amounts greater than 9999 exist, they will appe
as 2.6m, 197k, etc.
nMin>9999
( always a blank task window )
Potential Solutions
These examples illustrate how Other Filtering can be creatively applied to achieve almost any desired result. Sing
quotes are sometimes shown to delimit the spaces which are part of a filter or to represent a request for status (O) accu
rately. But if you used them with if-values in real life, no matches would be found.
Assuming field nTH is displayed, the first filter will result in only multi-threaded processes being shown. It also reminds u
that a trailing space is part of every displayed field. The second filter achieves the exact same results with less typing.
!nTH= 1
( for clarity only )
nTH>1
( same with less i/p )
With Forest View mode active and the COMMAND column in view, this filter effectively collapses child processes so th
just 3 levels are shown.
!COMMAND=
- ( for clarity only )
The final two filters appear as in response to the status request key (O). In reality, each filter would have required separa
input. The PR example shows the two concurrent filters necessary to display tasks with priorities of 20 or more, since som
might be negative. Then by exploiting trailing spaces, the nMin series of filters could achieve the failed 9999 objectiv
discussed above.
PR>20 + !PR=-
( 2 for right result )
!nMin=0 + !nMin=1 + !nMin=2 + !nMin=3 ...
Note: When Other Filtering is active, top turns column highlighting Off to prevent false matches on internal non-displa
escape sequences. Such highlighting will be restored when a window is no longer subject to filtering. See the x interactiv
command for additional information on sort column highlighting.
6. FILES
6a. SYSTEM Configuration File
The presence of this file will influence which version of the help screen is shown to an ordinary user. More importantly,
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 create this file manually and place it in the /etc directory. I
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
bp
6b. PERSONAL Configuration File This file is written as $HOME/.yourname4top + rc. Use the W interactive com
mand to create it or update it.
procps-ng
March 2013
2
Here is the general layout:
global # line 1: the program name/alias notation
TOP(1)
User Commands
TOP(1
If the $HOME variable is not present, top will try to write the personal configuration file to the current directory, subject to pe
missions.
If you dont know the location or name of your top rcfile, use the W interactive command to rewrite it and note those details.
Inspect entries can be added with a redirected echo or by editing the configuration file. Redirecting an echo risks overwritin
the rcfile should it replace (>) rather than append (>>) to that file. Conversely, when using an editor care must be taken not
corrupt existing lines, some of which will contain unprintable data or unusual characters.
Those Inspect entries beginning with a # character are ignored, regardless of content. Otherwise they consist of the followin
3 elements, each of which must be separated by a tab character (thus 2 \t total):
.type: literal file or pipe
.name: selection shown on the Inspect screen
.fmts: string representing a path or command
The two types of Inspect entries are not interchangeable. Those designated file will be accessed using fopen and must refe
ence a single file in the .fmts element. Entries specifying pipe will employ popen, their .fmts element could contain man
pipelined commands and, none can be interactive.
If the file or pipeline represented in your .fmts deals with the specific PID input or accepted when prompted, then the form
string must also contain the %d specifier, as these examples illustrate.
.fmts= /proc/%d/numa_maps
.fmts= lsof -P -p %d
For pipe type entries only, you may also wish to redirect stderr to stdout for a more comprehensive result. Thus the form
string becomes:
.fmts= pmap -x %d 2>&1
Here are examples of both types of Inspect entries as they might appear in the rcfile. The first entry will be ignored due to th
initial # character. For clarity, the pseudo tab depictions (I) are surrounded by an extra space but the actual tabs would n
be.
# pipe I Sockets I lsof -n -P -i 2>&1
pipe I Open Files I lsof -P -p %d 2>&1
file I NUMA Info I /proc/%d/numa_maps
pipe I Log I tail -n100 /var/log/syslog | sort -Mr
bp Except for the commented entry above, these next examples show what could be echoed to achieve similar results, assum
ing the rcfile name was .toprc. However, due to the embedded tab characters, each of these lines should be preceded b
/bin/echo e, not just a simple an echo, to enable backslash interpretation regardless of which shell you use.
procps-ng
March 2013
2
"pipe\tOpen Files\tlsof -P -p %d 2>&1" >> /.toprc
"file\tNUMA Info\t/proc/%d/numa_maps" >> /.toprc
TOP(1)
User Commands
TOP(1
Caution: If any inspect entry you create produces output with unprintable characters they will be displayed in either the
notation or hexidecimal <FF> form, depending on their value. This applies to tab characters as well, which will show as I.
you want a truer representation, any embedded tabs should be expanded.
# next would have contained \t ...
# file I <your_name> I /proc/%d/status
# but this will eliminate embedded \t ...
pipe I <your_name> I cat /proc/%d/status | expand The above example takes what could have been a file entry but employs a pipe instead so as to expand the embedded tabs.
Note: While pipe type entries have been discussed in terms of pipelines and commands, there is nothing to prevent you fro
including shell scripts as well. Perhaps even newly created scripts designed specifically for the Y interactive command.
Lastly, as the number of your Inspect entries grows over time, the Options: row will be truncated when screen width
exceeded. That does not affect operation other than to make some selections invisible.
However, if some choices are lost to truncation but you want to see more options, there is an easy solution hinted at below.
Inspection Pause at pid ...
Use: left/right then <Enter> ...
Options: help 1 2 3 4 5 6 7 8 9 10 11 ...
The entries in the top rcfile would have a number for the .name element and the help entry would identify a shell scri
youve written explaining what those numbered selections actually mean. In that way, many more choices can be made visible
Many of these tricks work best when you give top a scheduling boost. So plan on starting him with a nice value of 1
assuming youve got the authority.
7a. Kernel Magic
For these stupid tricks, top needs fullscreen mode.
o
The user interface, through prompts and help, intentionally implies that the delay interval is limited to tenths of a secon
However, youre free to set any desired delay. If you want to see Linux at his scheduling best, try a delay of .09 seconds o
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 so as 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 youll see is a very busy Linux doing what hes always done for you, but there was no program available to illustra
this.
o
Under an xterm using white-on-black colors, on tops Color Mapping screen set the task color to black and be sure th
task highlighting is set to bold, not reverse. Then set the delay interval to around .3 seconds.
bp After bringing the most active processes into view, what youll see are the ghostly images of just the currently runnin
tasks.
procps-ng
o
March 2013
2
Delete the existing rcfile, or create a new symlink. Start this new version then type T (a secret key, see topic 4c. Task Are
Commands, SORTING) followed by W and q. Finally, restart the program with d0 (zero delay).
TOP(1)
User Commands
TOP(1
Your display will be refreshed at three times the rate of the former top, a 300% speed advantage. As top climbs the TIM
ladder, be as patient as you can while speculating on whether or not top will ever reach the top.
7b. Bouncing Windows
For these stupid tricks, top needs alternatedisplay mode.
o
With 3 or 4 task displays visible, pick any window other than the last and turn idle processes Off using the i command tog
gle. Depending on where you applied i, sometimes several task displays are bouncing and sometimes its like an acco
dion, as top tries his best to allocate space.
Set each windows summary lines differently: one with no memory (m); another with no states (t); maybe one with noth
ing at all, just the message line. Then hold down a or w and watch a variation on bouncing windows hopping win
dows.
Display all 4 windows and for each, in turn, set idle processes to Off using the i command toggle. Youve just entered th
"extreme bounce" zone.
Display all 4 windows and make sure that 1:Def is the current window. Then, keep increasing window size with the n
interactive command until all the other task displays are "pushed out of the nest".
When theyve all been displaced, toggle between all visible/invisible windows using the _ command toggle. Then pond
this:
is top fibbing or telling honestly your imposed truth?
7d. The Ol Switcheroo
This stupid trick works best without alternatedisplay mode, since justification is active on a per window basis.
o
Start top and make COMMAND the last (rightmost) column displayed. If necessary, use the c command toggle to displa
command lines and ensure that forest view mode is active with the V command toggle.
Then use the up/down arrow keys to position the display so that some truncated command lines are shown (+ in last pos
tion). You may have to resize your xterm to produce truncation.
Lastly, use the j command toggle to make the COMMAND column right justified.
Now use the right arrow key to reach the COMMAND column. Continuing with the right arrow key, watch closely th
direction of travel for the command lines being shown.
some lines travel left, while others travel right
eventually all lines will Switcheroo, and move right
8. BUGS
To report bugs, follow the instructions at:
http://www.debian.org/Bugs/Reporting
TOP(1)
User Commands
TOP(1
10. AUTHOR
This entirely new and enhanced replacement was written by:
Jim Warner, <[email protected]>
With invaluable help from:
Craig Small, <[email protected]>
Albert Cahalan, <[email protected]>
procps-ng
March 2013
TOP(1)
procps-ng
User Commands
March 2013
TOP(1