2586 lines
102 KiB
HTML
2586 lines
102 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of TOP</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>TOP</H1>
|
|
Section: User Commands (1)<BR>Updated: October 2019<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
|
|
top - display Linux processes
|
|
<P>
|
|
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
|
|
<B>top</B> -<B>hv</B>|-<B>bcEHiOSs1</B> -<B>d</B> secs -<B>n</B> max -<B>u</B>|<B>U</B> user -<B>p</B> pid -<B>o</B> fld -<B>w</B> [cols]
|
|
<P>
|
|
The traditional switches `-' and whitespace are optional.
|
|
<P>
|
|
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
|
|
The <B>top</B> program provides a dynamic real-time view of a running system.
|
|
It can display<B> system</B> summary information as well as a list of
|
|
<B>processes</B> or <B>threads</B> currently being managed by the Linux kernel.
|
|
The types of system summary information shown and the types, order and
|
|
size of information displayed for processes are all user configurable
|
|
and that configuration can be made persistent across restarts.
|
|
<P>
|
|
The program provides a limited interactive interface for process
|
|
manipulation as well as a much more extensive interface for personal
|
|
configuration -- encompassing every aspect of its operation.
|
|
And while <B>top</B> is referred to throughout this document, you are free
|
|
to name the program anything you wish.
|
|
That new name, possibly an alias, will then be reflected on top's
|
|
display and used when reading and writing a configuration file.
|
|
<P>
|
|
|
|
<A NAME="lbAE"> </A>
|
|
<H2>OVERVIEW</H2>
|
|
|
|
|
|
|
|
<A NAME="lbAF"> </A>
|
|
<H3>Documentation</H3>
|
|
|
|
|
|
The remaining Table of Contents
|
|
<P>
|
|
<PRE>
|
|
OVERVIEW
|
|
Operation
|
|
Linux Memory Types
|
|
1. COMMAND-LINE 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. ALTERNATE-DISPLAY 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. PERSONAL Configuration File
|
|
b. ADDING INSPECT Entries
|
|
c. SYSTEM Configuration File
|
|
d. SYSTEM Restrictions File
|
|
7. STUPID TRICKS Sampler
|
|
a. Kernel Magic
|
|
b. Bouncing Windows
|
|
c. The Big Bird Window
|
|
d. The Ol' Switcheroo
|
|
8. BUGS, 9. SEE Also
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAG"> </A>
|
|
<H3>Operation</H3>
|
|
|
|
|
|
When operating top, the two most important keys are the help (h or ?)
|
|
key and quit (`q') key.
|
|
Alternatively, you could simply use the traditional interrupt key (^C)
|
|
when you're done.
|
|
<P>
|
|
When started for the first time, you'll 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/Message line between the Summary Area and Columns
|
|
Header which needs no further explanation.
|
|
<P>
|
|
The main top screen is <I>generally</I> quite adaptive to changes in
|
|
terminal dimensions under X-Windows.
|
|
Other top screens may be less so, especially those with static text.
|
|
It ultimately depends, however, on your particular window manager and
|
|
terminal emulator.
|
|
There may be occasions when their view of terminal size and current contents
|
|
differs from top's view, which is always based on operating system calls.
|
|
<P>
|
|
Following any re-size operation, if a top screen is corrupted, appears
|
|
incomplete or disordered, simply typing something innocuous like a
|
|
punctuation character or cursor motion key will usually restore it.
|
|
In extreme cases, the following sequence almost certainly will:
|
|
<PRE>
|
|
<I>key/cmd objective </I>
|
|
^Z <B>suspend</B> top
|
|
fg <B>resume</B> top
|
|
<Left> force a screen <B>redraw</B> (if necessary)
|
|
</PRE>
|
|
|
|
<P>
|
|
But if the display is still corrupted, there is one more step you could try.
|
|
Insert this command after top has been suspended but before resuming it.
|
|
<PRE>
|
|
<I>key/cmd objective </I>
|
|
reset restore your <B>terminal settings</B>
|
|
</PRE>
|
|
|
|
<P>
|
|
<B>Note</B>: the width of top's display will be limited to 512 positions.
|
|
Displaying all fields requires approximately 250 characters.
|
|
Remaining screen width is usually allocated to any variable width columns
|
|
currently visible.
|
|
The variable width columns, such as COMMAND, are noted in topic
|
|
3a. DESCRIPTIONS of Fields.
|
|
Actual output width may also be influenced by the -w switch, which is
|
|
discussed in topic 1. COMMAND-LINE Options.
|
|
<P>
|
|
Lastly, some of top's screens or functions require the use of cursor
|
|
motion keys like the standard arrow keys plus the Home, End, PgUp and PgDn keys.
|
|
If your terminal or emulator does not provide those keys, the following
|
|
combinations are accepted as alternatives:
|
|
<PRE>
|
|
<I> key equivalent-keys </I>
|
|
Left alt +<B> h </B>
|
|
Down alt +<B> j </B>
|
|
Up alt +<B> k </B>
|
|
Right alt +<B> l </B>
|
|
Home alt + ctrl +<B> h </B>
|
|
PgDn alt + ctrl +<B> j </B>
|
|
PgUp alt + ctrl +<B> k </B>
|
|
End alt + ctrl +<B> l </B>
|
|
</PRE>
|
|
|
|
<P>
|
|
The <B>Up</B> and <B>Down</B> arrow keys have special significance when prompted
|
|
for line input terminated with the <Enter> key.
|
|
Those keys, or their aliases, can be used to retrieve previous input lines
|
|
which can then be edited and re-input.
|
|
And there are four additional keys available with line oriented input.
|
|
<PRE>
|
|
<I> key special-significance </I>
|
|
Up recall <B>older</B> strings for re-editing
|
|
Down recall <B>newer</B> strings or <B>erase</B> entire line
|
|
Insert toggle between <B>insert</B> and <B>overtype</B> modes
|
|
Delete character <B>removed</B> at cursor, moving others left
|
|
Home jump to <B>beginning</B> of input line
|
|
End jump to <B>end</B> of input line
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAH"> </A>
|
|
<H3>Linux Memory Types</H3>
|
|
|
|
|
|
For our purposes there are three types of memory, and one is optional.
|
|
First is physical memory, a limited resource where code and data must
|
|
reside when executed or referenced.
|
|
Next is the optional swap file, where modified (dirty) memory can be saved
|
|
and later retrieved if too many demands are made on physical memory.
|
|
Lastly we have virtual memory, a nearly unlimited resource serving the
|
|
following goals:
|
|
<P>
|
|
<PRE>
|
|
1. abstraction, free from physical memory addresses/limits
|
|
2. isolation, every process in a separate address space
|
|
3. sharing, a single mapping can serve multiple needs
|
|
4. flexibility, assign a virtual address to a file
|
|
</PRE>
|
|
|
|
<P>
|
|
Regardless of which of these forms memory may take, all are managed as
|
|
pages (typically 4096 bytes) but expressed by default in top as
|
|
KiB (kibibyte).
|
|
The memory discussed under topic `2c. MEMORY Usage' deals with physical memory
|
|
and the swap file for the system as a whole.
|
|
The memory reviewed in topic `3. FIELDS / Columns Display'
|
|
embraces all three memory types, but for individual processes.
|
|
<P>
|
|
For each such process, every memory page is restricted to a single
|
|
quadrant from the table below.
|
|
Both physical memory and virtual memory can include any of the four, while the swap file only
|
|
includes #1 through #3.
|
|
The memory in quadrant #4, when modified, acts as its own dedicated swap file.
|
|
<P>
|
|
<PRE>
|
|
<B>Private</B> | <B>Shared</B>
|
|
<B>1</B> | <B>2</B>
|
|
<B>Anonymous</B> . stack |
|
|
. malloc() |
|
|
. brk()/sbrk() | . POSIX shm*
|
|
. mmap(PRIVATE, ANON) | . mmap(SHARED, ANON)
|
|
-----------------------+----------------------
|
|
. mmap(PRIVATE, fd) | . mmap(SHARED, fd)
|
|
<B>File-backed</B> . pgms/shared libs |
|
|
<B>3</B> | <B>4</B>
|
|
</PRE>
|
|
|
|
<P>
|
|
The following may help in interpreting process level memory values displayed
|
|
as scalable columns and discussed under topic `3a. DESCRIPTIONS of Fields'.
|
|
<P>
|
|
<PRE>
|
|
%MEM - simply RES divided by total physical memory
|
|
CODE - the `pgms' portion of quadrant <B>3</B>
|
|
DATA - the entire quadrant <B>1</B> portion of VIRT plus all
|
|
explicit mmap file-backed pages of quadrant <B>3</B>
|
|
RES - anything occupying physical memory which, beginning with
|
|
Linux-4.5, is the sum of the following three fields:
|
|
RSan - quadrant <B>1</B> pages, which include any
|
|
former quadrant <B>3</B> pages if modified
|
|
RSfd - quadrant <B>3</B> and quadrant <B>4</B> pages
|
|
RSsh - quadrant <B>2</B> pages
|
|
RSlk - subset of RES which cannot be swapped out (any quadrant)
|
|
SHR - subset of RES (excludes <B>1</B>, includes all <B>2</B> & <B>4</B>, some <B>3</B>)
|
|
SWAP - potentially any quadrant except <B>4</B>
|
|
USED - simply the sum of RES and SWAP
|
|
VIRT - everything in-use and/or reserved (all quadrants)
|
|
</PRE>
|
|
|
|
<P>
|
|
<B>Note</B>: Even though program images and shared libraries are considered
|
|
<I>private</I> to a process, they will be accounted for as <I>shared</I>
|
|
(SHR) by the kernel.
|
|
<P>
|
|
|
|
<A NAME="lbAI"> </A>
|
|
<H2>1. COMMAND-LINE Options</H2>
|
|
|
|
|
|
The command-line syntax for top consists of:
|
|
<P>
|
|
<BR> -<B>hv</B>|-<B>bcEHiOSs1</B> -<B>d</B> secs -<B>n</B> max -<B>u</B>|<B>U</B> user -<B>p</B> pid -<B>o</B> fld -<B>w</B> [cols]
|
|
<P>
|
|
The typically mandatory switch (`-') and even whitespace are completely
|
|
optional.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="1">-<B>h</B> | -<B>v</B> :<I>Help/Version </I><DD>
|
|
Show library version and the usage prompt, then quit.
|
|
<P>
|
|
<DT id="2">-<B>b</B> :<I>Batch-mode</I> operation <DD>
|
|
Starts top in Batch mode, which could be useful for sending output
|
|
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.
|
|
<P>
|
|
<DT id="3">-<B>c</B> :<I>Command-line/Program-name</I> toggle <DD>
|
|
Starts top with the last remembered `c' state reversed.
|
|
Thus, if top was displaying command lines, now that field will show program
|
|
names, and vice versa.
|
|
See the `c' interactive command for additional information.
|
|
<P>
|
|
<DT id="4">-<B>d</B> :<I>Delay-time</I> interval as: <B>-d ss.t</B> (<I>secs</I>.<I>tenths</I>) <DD>
|
|
Specifies the delay between screen updates, and overrides the corresponding
|
|
value in one's personal configuration file or the startup default.
|
|
Later this can be changed with the `d' or `s' interactive commands.
|
|
<P>
|
|
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 6d. SYSTEM Restrictions File.
|
|
<P>
|
|
<DT id="5">-<B>E</B> :<I>Extend-Memory-Scaling</I> as: <B>-E k</B> | <B>m</B> | <B>g</B> | <B>t</B> | <B>p</B> | <B>e</B><DD>
|
|
Instructs top to force summary area memory to be scaled as:
|
|
<PRE>
|
|
k - kibibytes
|
|
m - mebibytes
|
|
g - gibibytes
|
|
t - tebibytes
|
|
p - pebibytes
|
|
e - exbibytes
|
|
</PRE>
|
|
|
|
<P>
|
|
Later this can be changed with the `E' command toggle.
|
|
<P>
|
|
<DT id="6">-<B>H</B> :<I>Threads-mode</I> operation <DD>
|
|
Instructs top to display individual threads.
|
|
Without this command-line option a summation of all threads in each process is shown.
|
|
Later this can be changed with the `H' interactive command.
|
|
<P>
|
|
<DT id="7">-<B>i</B> :<I>Idle-process</I> toggle <DD>
|
|
Starts top with the last remembered `i' state reversed.
|
|
When this toggle is <I>Off</I>, tasks that have not used any CPU since the
|
|
last update will not be displayed.
|
|
For additional information regarding this toggle
|
|
see topic 4c. TASK AREA Commands, SIZE.
|
|
<P>
|
|
<DT id="8">-<B>n</B> :<I>Number-of-iterations</I> limit as:<B> -n number </B><DD>
|
|
Specifies the maximum number of iterations, or frames, top should
|
|
produce before ending.
|
|
<P>
|
|
<DT id="9">-<B>o</B> :<I>Override-sort-field</I> as:<B> -o fieldname </B><DD>
|
|
Specifies the name of the field on which tasks will be sorted, independent
|
|
of what is reflected in the configuration file.
|
|
You can prepend a `+' or `-' to the field name to also override the sort direction.
|
|
A leading `+' will force sorting high to low, whereas a `-' will ensure a low to high
|
|
ordering.
|
|
<P>
|
|
This option exists primarily to support automated/scripted batch mode
|
|
operation.
|
|
<P>
|
|
<DT id="10">-<B>O</B> :<I>Output-field-names </I><DD>
|
|
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 a
|
|
separate line, then quit.
|
|
Such names are subject to NLS (National Language Support) translation.
|
|
<P>
|
|
<DT id="11">-<B>p</B> :<I>Monitor-PIDs</I> mode as:<B> -pN1 -pN2 ...</B> or<B> -pN1,N2,N3 ... </B><DD>
|
|
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 permitted.
|
|
<P>
|
|
A pid value of zero will be treated as the process id of the top program
|
|
itself once it is running.
|
|
<P>
|
|
This is a command-line option only and should you wish to return to normal operation,
|
|
it is not necessary to quit and restart top -- just issue any
|
|
of these interactive commands: `=', `u' or `U'.
|
|
<P>
|
|
The `p', `u' and `U' command-line options are mutually exclusive.
|
|
<P>
|
|
<DT id="12">-<B>s</B> :<I>Secure-mode</I> operation <DD>
|
|
Starts top with secure mode forced, even for root.
|
|
This mode is far better controlled through a system configuration file
|
|
(see topic 6. FILES).
|
|
<P>
|
|
<DT id="13">-<B>S</B> :<I>Cumulative-time</I> toggle <DD>
|
|
Starts top with the last remembered `S' state reversed.
|
|
When Cumulative time mode is <I>On</I>, 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.
|
|
<P>
|
|
<DT id="14">-<B>u</B> | -<B>U</B> :<I>User-filter-mode</I> as: <B>-u</B> | <B>-U number</B> or<B> name </B><DD>
|
|
Display only processes with a user id or user name matching that given.
|
|
The `-u' option matches on <I> effective</I> user whereas the `-U' option
|
|
matches on<I> any</I> user (real, effective, saved, or filesystem).
|
|
<P>
|
|
Prepending an exclamation point (`!') to the user id or name instructs top
|
|
to display only processes with users not matching the one provided.
|
|
<P>
|
|
The `p', `u' and `U' command-line options are mutually exclusive.
|
|
<P>
|
|
<DT id="15">-<B>w</B> :<I>Output-width-override</I> as: <B>-w</B> [<B> number</B> ] <DD>
|
|
In Batch mode, when used without an argument top will format
|
|
output using the COLUMNS= and LINES= environment variables, if set.
|
|
Otherwise, width will be fixed at the maximum 512 columns.
|
|
With an argument, output width can be decreased or increased (up to 512)
|
|
but the number of rows is considered unlimited.
|
|
<P>
|
|
In normal display mode, when used without an argument top will<I> attempt</I>
|
|
to format output using the COLUMNS= and LINES= environment variables, if set.
|
|
With an argument, output width can only be decreased, not increased.
|
|
Whether using environment variables or an argument with -w, when<I> not</I>
|
|
in Batch mode actual terminal dimensions can never be exceeded.
|
|
<P>
|
|
<B>Note</B>: Without the use of this command-line option, output width is always based on the
|
|
terminal at which top was invoked whether or not in Batch mode.
|
|
<P>
|
|
<DT id="16">-<B>1</B> :<I>Single/Separate-Cpu-States</I> toggle <DD>
|
|
Starts top with the last remembered Cpu States portion of the summary area reversed.
|
|
Either all cpu information will be displayed in a single line or
|
|
each cpu will be displayed separately, depending on the state of the NUMA Node
|
|
command toggle ('2').
|
|
<P>
|
|
See the `1' and '2' interactive commands for additional information.
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbAJ"> </A>
|
|
<H2>2. SUMMARY Display</H2>
|
|
|
|
|
|
Each of the following three areas are individually controlled through
|
|
one or more interactive commands.
|
|
See topic 4b. SUMMARY AREA Commands for additional information regarding
|
|
these provisions.
|
|
<P>
|
|
|
|
<A NAME="lbAK"> </A>
|
|
<H3>2a. UPTIME and LOAD Averages</H3>
|
|
|
|
|
|
This portion consists of a single line containing:
|
|
<PRE>
|
|
<B>program</B> or<B> window</B> 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
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAL"> </A>
|
|
<H3>2b. TASK and CPU States</H3>
|
|
|
|
|
|
This portion consists of a minimum of two lines.
|
|
In an SMP environment, additional lines can reflect individual CPU
|
|
state percentages.
|
|
<P>
|
|
Line 1 shows total<B> tasks</B> or<B> threads</B>, depending on the state
|
|
of the Threads-mode toggle.
|
|
That total is further classified as:
|
|
<PRE>
|
|
running; sleeping; stopped; zombie
|
|
</PRE>
|
|
|
|
<P>
|
|
Line 2 shows CPU state percentages based on the interval since the
|
|
last refresh.
|
|
<P>
|
|
As a default, percentages for these individual categories are displayed.
|
|
Where two labels are shown below, those for more recent kernel versions
|
|
are shown first.
|
|
<PRE>
|
|
<B>us</B>,<B> user</B> : time running un-niced user processes
|
|
<B>sy</B>,<B> system</B> : time running kernel processes
|
|
<B>ni</B>,<B> nice</B> : time running niced user processes
|
|
<B>id</B>,<B> idle</B> : time spent in the kernel idle handler
|
|
<B>wa</B>,<B> IO-wait</B> : time waiting for I/O completion
|
|
<B>hi</B> : time spent servicing hardware interrupts
|
|
<B>si</B> : time spent servicing software interrupts
|
|
<B>st</B> : time stolen from this vm by the hypervisor
|
|
</PRE>
|
|
|
|
<P>
|
|
In the alternate cpu states display modes, beyond the first tasks/threads line,
|
|
an abbreviated summary is shown consisting of these elements:
|
|
<PRE>
|
|
a b c d
|
|
%Cpu(s): <B>75.0</B>/25.0 <B>100</B>[ ...
|
|
|
|
</PRE>
|
|
|
|
<P>
|
|
Where: a) is the combined <B>us</B> and <B>ni</B> percentage; b) is the <B>sy</B> percentage; c) is the total;
|
|
and d) is one of two visual graphs of those representations.
|
|
See topic 4b. SUMMARY AREA Commands and the `t' command for additional information
|
|
on that special 4-way toggle.
|
|
<P>
|
|
|
|
<A NAME="lbAM"> </A>
|
|
<H3>2c. MEMORY Usage</H3>
|
|
|
|
|
|
This portion consists of two lines which may express values in kibibytes (KiB)
|
|
through exbibytes (EiB) depending on the scaling factor enforced
|
|
with the `E' interactive command.
|
|
<P>
|
|
As a default, Line 1 reflects physical memory, classified as:
|
|
<PRE>
|
|
total, free, used and buff/cache
|
|
</PRE>
|
|
|
|
<P>
|
|
Line 2 reflects mostly virtual memory, classified as:
|
|
<PRE>
|
|
total, free, used and avail (which is physical memory)
|
|
</PRE>
|
|
|
|
<P>
|
|
The <B>avail</B> number on line 2 is an estimation of physical memory available for
|
|
starting new applications, without swapping.
|
|
Unlike the <B>free</B> field, it attempts to account for readily reclaimable
|
|
page cache and memory slabs.
|
|
It is available on kernels 3.14, emulated on kernels 2.6.27+, otherwise
|
|
the same as <B>free</B>.
|
|
<P>
|
|
In the alternate memory display modes, two abbreviated summary lines
|
|
are shown consisting of these elements:
|
|
<PRE>
|
|
a b c
|
|
GiB Mem : <B>18.7</B>/15.738 [ ...
|
|
GiB Swap: <B> 0.0</B>/7.999 [ ...
|
|
</PRE>
|
|
|
|
<P>
|
|
Where: a) is the percentage used; b) is the total available; and c) is one of two
|
|
visual graphs of those representations.
|
|
<P>
|
|
In the case of physical memory, the percentage represents the <B>total</B> minus the estimated
|
|
<B>avail</B> noted above.
|
|
The `Mem' graph itself is divided between <B>used</B> and any remaining memory not
|
|
otherwise accounted for by <B>avail</B>.
|
|
See topic 4b. SUMMARY AREA Commands and the `m' command for additional information
|
|
on that special 4-way toggle.
|
|
<P>
|
|
This table may help in interpreting the scaled values displayed:
|
|
<PRE>
|
|
KiB = kibibyte = 1024 bytes
|
|
MiB = mebibyte = 1024 KiB = 1,048,576 bytes
|
|
GiB = gibibyte = 1024 MiB = 1,073,741,824 bytes
|
|
TiB = tebibyte = 1024 GiB = 1,099,511,627,776 bytes
|
|
PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624 bytes
|
|
EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976 bytes
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAN"> </A>
|
|
<H2>3. FIELDS / Columns</H2>
|
|
|
|
|
|
|
|
<A NAME="lbAO"> </A>
|
|
<H3>3a. DESCRIPTIONS of Fields</H3>
|
|
|
|
|
|
Listed below are top's available process fields (columns).
|
|
They are shown in strict ascii alphabetical order.
|
|
You may customize their position and whether or not they are displayable
|
|
with the `f' or `F' (Fields Management) interactive commands.
|
|
<P>
|
|
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 4c. TASK AREA Commands, SORTING.
|
|
<P>
|
|
The fields related to physical memory or virtual memory reference `(KiB)' which is the
|
|
unsuffixed display mode.
|
|
Such fields may, however, be scaled from KiB through PiB.
|
|
That scaling is influenced via the `e' interactive command or established for startup
|
|
through a build option.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="17"><BR> 1.<B> %CPU -- CPU Usage </B><DD>
|
|
The task's share of the elapsed CPU time since the last screen update,
|
|
expressed as a percentage of total CPU time.
|
|
<P>
|
|
In a true SMP environment, if a process is multi-threaded and top is
|
|
<I>not</I> operating in Threads mode, amounts greater than 100% may be
|
|
reported.
|
|
You toggle Threads mode with the `H' interactive command.
|
|
<P>
|
|
Also for multi-processor environments, if Irix mode is <I>Off</I>, 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 command.
|
|
<P>
|
|
<B>Note</B>: When running in forest view mode (`V') with children
|
|
collapsed (`v'), this field will also include the CPU time of
|
|
those unseen children.
|
|
See topic 4c. TASK AREA Commands, CONTENT for more information regarding
|
|
the `V' and `v' toggles.
|
|
<P>
|
|
<DT id="18"><BR> 2.<B> %MEM -- Memory Usage (RES) </B><DD>
|
|
A task's currently resident share of available physical memory.
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="19"><BR> 3.<B> CGNAME -- Control Group Name </B><DD>
|
|
The name of the control group to which a process belongs,
|
|
or `-' if not applicable for that process.
|
|
<P>
|
|
This will typically be the last entry in the full list of control
|
|
groups as shown under the next heading (CGROUPS).
|
|
And as is true there, this field is also variable width.
|
|
<P>
|
|
<DT id="20"><BR> 4.<B> CGROUPS -- Control Groups </B><DD>
|
|
The names of the control group(s) to which a process belongs,
|
|
or `-' if not applicable for that process.
|
|
<P>
|
|
Control Groups provide for allocating resources (cpu, memory, network
|
|
bandwidth, etc.) among installation-defined groups of processes.
|
|
They enable fine-grained control over allocating, denying, prioritizing,
|
|
managing and monitoring those resources.
|
|
<P>
|
|
Many different hierarchies of cgroups can exist simultaneously on a system
|
|
and each hierarchy is attached to one or more subsystems.
|
|
A subsystem represents a single resource.
|
|
<P>
|
|
<B>Note</B>: The CGROUPS field, unlike most columns, is not fixed-width.
|
|
When displayed, it plus any other variable width columns will be allocated
|
|
all remaining screen width (up to the maximum 512 characters).
|
|
Even so, such variable width fields could still suffer truncation.
|
|
See topic 5c. SCROLLING a Window for additional information on accessing
|
|
any truncated data.
|
|
<P>
|
|
<DT id="21"><BR> 5.<B> CODE -- Code Size (KiB) </B><DD>
|
|
The amount of physical memory currently devoted to executable code, also known
|
|
as the Text Resident Set size or TRS.
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="22"><BR> 6.<B> COMMAND -- Command Name</B> or Command<B> Line </B><DD>
|
|
Display the command line used to start a task or the name of the associated
|
|
program.
|
|
You toggle between command<I> line</I> and<I> name</I> with `c', which is both
|
|
a command-line option and an interactive command.
|
|
<P>
|
|
When you've chosen to display command lines, processes without a command
|
|
line (like kernel threads) will be shown with only the program name in
|
|
brackets, as in this example:
|
|
<BR> [kthreadd]
|
|
<P>
|
|
This field may also be impacted by the forest view display mode.
|
|
See the `V' interactive command for additional information regarding that mode.
|
|
<P>
|
|
<B>Note</B>: The COMMAND field, unlike most columns, is not fixed-width.
|
|
When displayed, it plus any other variable width columns will be allocated
|
|
all remaining screen width (up to the maximum 512 characters).
|
|
Even so, such variable width fields could still suffer truncation.
|
|
This is especially true for this field when command lines are being
|
|
displayed (the `c' interactive command.)
|
|
See topic 5c. SCROLLING a Window for additional information on accessing
|
|
any truncated data.
|
|
<P>
|
|
<DT id="23"><BR> 7.<B> DATA -- Data + Stack Size (KiB) </B><DD>
|
|
The amount of private memory <I>reserved</I> by a process.
|
|
It is also known as the Data Resident Set or DRS.
|
|
Such memory may not yet be mapped to physical memory (RES) but will always be
|
|
included in the virtual memory (VIRT) amount.
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="24"><BR> 8.<B> ENVIRON -- Environment variables </B><DD>
|
|
Display all of the environment variables, if any, as seen by the
|
|
respective processes.
|
|
These variables will be displayed in their raw native order, not the
|
|
sorted order you are accustomed to seeing with an unqualified `set'.
|
|
<P>
|
|
<B>Note</B>: The ENVIRON field, unlike most columns, is not fixed-width.
|
|
When displayed, it plus any other variable width columns will be allocated
|
|
all remaining screen width (up to the maximum 512 characters).
|
|
Even so, such variable width fields could still suffer truncation.
|
|
This is especially true for this field.
|
|
See topic 5c. SCROLLING a Window for additional information on accessing
|
|
any truncated data.
|
|
<P>
|
|
<DT id="25"><BR> 9.<B> Flags -- Task Flags </B><DD>
|
|
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 <<A HREF="file:///usr/include/linux/sched.h">linux/sched.h</A>>.
|
|
<P>
|
|
<DT id="26">10.<B> GID -- Group Id </B><DD>
|
|
The<I> effective</I> group ID.
|
|
<P>
|
|
<DT id="27">11.<B> GROUP -- Group Name </B><DD>
|
|
The<I> effective</I> group name.
|
|
<P>
|
|
<DT id="28">12.<B> LXC -- Lxc Container Name </B><DD>
|
|
The name of the lxc container within which a task is running.
|
|
If a process is not running inside a container, a dash (`-') will be shown.
|
|
<P>
|
|
<DT id="29">13.<B> NI -- Nice Value </B><DD>
|
|
The nice value of the task.
|
|
A negative nice value means higher priority, whereas a positive nice value
|
|
means lower priority.
|
|
Zero in this field simply means priority will not be adjusted in determining
|
|
a task's dispatch-ability.
|
|
<P>
|
|
<DT id="30">14.<B> NU -- Last known NUMA node </B><DD>
|
|
A number representing the NUMA node associated with the last used processor (`P').
|
|
When -1 is displayed it means that NUMA information is not available.
|
|
<P>
|
|
See the `'2' and `3' interactive commands for additional NUMA provisions affecting the summary area.
|
|
<P>
|
|
<DT id="31">15.<B> OOMa -- Out of Memory Adjustment Factor </B><DD>
|
|
The value, ranging from -1000 to +1000, added to the current out of memory
|
|
score (OOMs) which is then used to determine which task to kill when memory
|
|
is exhausted.
|
|
<P>
|
|
<DT id="32">16.<B> OOMs -- Out of Memory Score </B><DD>
|
|
The value, ranging from 0 to +1000, used to select task(s) to kill when memory
|
|
is exhausted.
|
|
Zero translates to `never kill' whereas 1000 means `always kill'.
|
|
<P>
|
|
<DT id="33">17.<B> P -- Last used CPU (SMP) </B><DD>
|
|
A number representing the last used processor.
|
|
In a true SMP environment this will likely change frequently since the kernel
|
|
intentionally 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).
|
|
<P>
|
|
<DT id="34">18.<B> PGRP -- Process Group Id </B><DD>
|
|
Every process is member of a unique process group which is used for
|
|
distribution of signals and by terminals to arbitrate requests for their
|
|
input and output.
|
|
When a process is created (forked), it becomes a member of the process
|
|
group of its parent.
|
|
By convention, this value equals the process ID (see PID) of the first
|
|
member of a process group, called the process group leader.
|
|
<P>
|
|
<DT id="35">19.<B> PID -- Process Id </B><DD>
|
|
The task's unique process ID, which periodically wraps, though never
|
|
restarting at zero.
|
|
In kernel terms, it is a dispatchable entity defined by a task_struct.
|
|
<P>
|
|
This value may also be used as: a process group ID (see PGRP);
|
|
a session ID for the session leader (see SID);
|
|
a thread group ID for the thread group leader (see TGID);
|
|
and a TTY process group ID for the process group leader (see TPGID).
|
|
<P>
|
|
<DT id="36">20.<B> PPID -- Parent Process Id </B><DD>
|
|
The process ID (pid) of a task's parent.
|
|
<P>
|
|
<DT id="37">21.<B> PR -- Priority </B><DD>
|
|
The scheduling priority of the task.
|
|
If you see `rt' in this field, it means the task is running
|
|
under real time scheduling priority.
|
|
<P>
|
|
Under linux, real time priority is somewhat misleading since traditionally
|
|
the operating itself was not preemptible.
|
|
And while the 2.6 kernel can be made mostly preemptible, it is not always so.
|
|
<P>
|
|
<DT id="38">22.<B> RES -- Resident Memory Size (KiB) </B><DD>
|
|
A subset of the virtual address space (VIRT) representing the non-swapped
|
|
physical memory a task is currently using.
|
|
It is also the sum of the RSan, RSfd and RSsh fields.
|
|
<P>
|
|
It can include private anonymous pages, private pages mapped to files
|
|
(including program images and shared libraries) plus shared anonymous pages.
|
|
All such memory is backed by the swap file represented separately under SWAP.
|
|
<P>
|
|
Lastly, this field may also include shared file-backed pages which, when
|
|
modified, act as a dedicated swap file and thus will never impact SWAP.
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="39">23.<B> RSan -- Resident Anonymous Memory Size (KiB) </B><DD>
|
|
A subset of resident memory (RES) representing private pages not
|
|
mapped to a file.
|
|
<P>
|
|
<DT id="40">24.<B> RSfd -- Resident File-Backed Memory Size (KiB) </B><DD>
|
|
A subset of resident memory (RES) representing the implicitly shared
|
|
pages supporting program images and shared libraries.
|
|
It also includes explicit file mappings, both private and shared.
|
|
<P>
|
|
<DT id="41">25.<B> RSlk -- Resident Locked Memory Size (KiB) </B><DD>
|
|
A subset of resident memory (RES) which cannot be swapped out.
|
|
<P>
|
|
<DT id="42">26.<B> RSsh -- Resident Shared Memory Size (KiB) </B><DD>
|
|
A subset of resident memory (RES) representing the explicitly shared
|
|
anonymous shm*/mmap pages.
|
|
<P>
|
|
<DT id="43">27.<B> RUID -- Real User Id </B><DD>
|
|
The<I> real</I> user ID.
|
|
<P>
|
|
<DT id="44">28.<B> RUSER -- Real User Name </B><DD>
|
|
The<I> real</I> user name.
|
|
<P>
|
|
<DT id="45">29.<B> S -- Process Status </B><DD>
|
|
The status of the task which can be one of:
|
|
<BR> <B>D</B> = uninterruptible sleep
|
|
<BR> <B>I</B> = idle
|
|
<BR> <B>R</B> = running
|
|
<BR> <B>S</B> = sleeping
|
|
<BR> <B>T</B> = stopped by job control signal
|
|
<BR> <B>t</B> = stopped by debugger during trace
|
|
<BR> <B>Z</B> = zombie
|
|
<P>
|
|
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 value.
|
|
<P>
|
|
<DT id="46">30.<B> SHR -- Shared Memory Size (KiB) </B><DD>
|
|
A subset of resident memory (RES) that may be used by other processes.
|
|
It will include shared anonymous pages and shared file-backed pages.
|
|
It also includes private pages mapped to files representing
|
|
program images and shared libraries.
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="47">31.<B> SID -- Session Id </B><DD>
|
|
A session is a collection of process groups (see PGRP),
|
|
usually established by the login shell.
|
|
A newly forked process joins the session of its creator.
|
|
By convention, this value equals the process ID (see PID) of the first
|
|
member of the session, called the session leader, which is usually the
|
|
login shell.
|
|
<P>
|
|
<DT id="48">32.<B> SUID -- Saved User Id </B><DD>
|
|
The<I> saved</I> user ID.
|
|
<P>
|
|
<DT id="49">33.<B> SUPGIDS -- Supplementary Group IDs </B><DD>
|
|
The IDs of any supplementary group(s) established at login or
|
|
inherited from a task's parent.
|
|
They are displayed in a comma delimited list.
|
|
<P>
|
|
<B>Note</B>: The SUPGIDS field, unlike most columns, is not fixed-width.
|
|
When displayed, it plus any other variable width columns will be allocated
|
|
all remaining screen width (up to the maximum 512 characters).
|
|
Even so, such variable width fields could still suffer truncation.
|
|
See topic 5c. SCROLLING a Window for additional information on accessing
|
|
any truncated data.
|
|
<P>
|
|
<DT id="50">34.<B> SUPGRPS -- Supplementary Group Names </B><DD>
|
|
The names of any supplementary group(s) established at login or
|
|
inherited from a task's parent.
|
|
They are displayed in a comma delimited list.
|
|
<P>
|
|
<B>Note</B>: The SUPGRPS field, unlike most columns, is not fixed-width.
|
|
When displayed, it plus any other variable width columns will be allocated
|
|
all remaining screen width (up to the maximum 512 characters).
|
|
Even so, such variable width fields could still suffer truncation.
|
|
See topic 5c. SCROLLING a Window for additional information on accessing
|
|
any truncated data.
|
|
<P>
|
|
<DT id="51">35.<B> SUSER -- Saved User Name </B><DD>
|
|
The<I> saved</I> user name.
|
|
<P>
|
|
<DT id="52">36.<B> SWAP -- Swapped Size (KiB) </B><DD>
|
|
The formerly resident portion of a task's address space written
|
|
to the swap file when physical memory becomes over committed.
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="53">37.<B> TGID -- Thread Group Id </B><DD>
|
|
The ID of the thread group to which a task belongs.
|
|
It is the PID of the thread group leader.
|
|
In kernel terms, it represents those tasks that share an mm_struct.
|
|
<P>
|
|
<DT id="54">38.<B> TIME -- CPU Time </B><DD>
|
|
Total CPU time the task has used since it started.
|
|
When Cumulative mode is <I>On</I>, each process is listed with the cpu
|
|
time that it and its dead children have used.
|
|
You toggle Cumulative mode with `S', which is both a command-line option and an interactive command.
|
|
See the `S' interactive command for additional information regarding this mode.
|
|
<P>
|
|
<DT id="55">39.<B> TIME+ -- CPU Time, hundredths </B><DD>
|
|
The same as TIME, but reflecting more granularity through hundredths
|
|
of a second.
|
|
<P>
|
|
<DT id="56">40.<B> TPGID -- Tty Process Group Id </B><DD>
|
|
The process group ID of the foreground process for the connected tty,
|
|
or -1 if a process is not connected to a terminal.
|
|
By convention, this value equals the process ID (see PID) of the
|
|
process group leader (see PGRP).
|
|
<P>
|
|
<DT id="57">41.<B> TTY -- Controlling Tty </B><DD>
|
|
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.
|
|
<P>
|
|
<DT id="58">42.<B> UID -- User Id </B><DD>
|
|
The<I> effective</I> user ID of the task's owner.
|
|
<P>
|
|
<DT id="59">43.<B> USED -- Memory in Use (KiB) </B><DD>
|
|
This field represents the non-swapped physical memory a task is using (RES) plus
|
|
the swapped out portion of its address space (SWAP).
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="60">44.<B> USER -- User Name </B><DD>
|
|
The<I> effective</I> user name of the task's owner.
|
|
<P>
|
|
<DT id="61">45.<B> VIRT -- Virtual Memory Size (KiB) </B><DD>
|
|
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 and pages that have been mapped but not used.
|
|
<P>
|
|
See `OVERVIEW, Linux Memory Types' for additional details.
|
|
<P>
|
|
<DT id="62">46.<B> WCHAN -- Sleeping in Function </B><DD>
|
|
This field will show the name of the kernel function in which the task
|
|
is currently sleeping.
|
|
Running tasks will display a dash (`-') in this column.
|
|
<P>
|
|
<DT id="63">47.<B> nDRT -- Dirty Pages Count </B><DD>
|
|
The number of pages that have been modified since they were last
|
|
written to auxiliary storage.
|
|
Dirty pages must be written to auxiliary storage before the corresponding physical
|
|
memory location can be used for some other virtual page.
|
|
<P>
|
|
This field was deprecated with linux 2.6 and is always zero.
|
|
<P>
|
|
<DT id="64">48.<B> nMaj -- Major Page Fault Count </B><DD>
|
|
The number of<B> major</B> 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 auxiliary storage access is involved in making that
|
|
page available.
|
|
<P>
|
|
<DT id="65">49.<B> nMin -- Minor Page Fault count </B><DD>
|
|
The number of<B> minor</B> 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 minor page fault does not involve auxiliary storage access in making that
|
|
page available.
|
|
<P>
|
|
<DT id="66">50.<B> nTH -- Number of Threads </B><DD>
|
|
The number of threads associated with a process.
|
|
<P>
|
|
<DT id="67">51.<B> nsIPC -- IPC namespace </B><DD>
|
|
The Inode of the namespace used to isolate interprocess communication (IPC)
|
|
resources such as System V IPC objects and POSIX message queues.
|
|
<P>
|
|
<DT id="68">52.<B> nsMNT -- MNT namespace </B><DD>
|
|
The Inode of the namespace used to isolate filesystem mount points thus
|
|
offering different views of the filesystem hierarchy.
|
|
<P>
|
|
<DT id="69">53.<B> nsNET -- NET namespace </B><DD>
|
|
The Inode of the namespace used to isolate resources such as network devices,
|
|
IP addresses, IP routing, port numbers, etc.
|
|
<P>
|
|
<DT id="70">54.<B> nsPID -- PID namespace </B><DD>
|
|
The Inode of the namespace used to isolate process ID numbers
|
|
meaning they need not remain unique.
|
|
Thus, each such namespace could have its own `init/systemd' (PID #1) to
|
|
manage various initialization tasks and reap orphaned child processes.
|
|
<P>
|
|
<DT id="71">55.<B> nsUSER -- USER namespace </B><DD>
|
|
The Inode of the namespace used to isolate the user and group ID numbers.
|
|
Thus, a process could have a normal unprivileged user ID outside a user
|
|
namespace while having a user ID of 0, with full root privileges, inside
|
|
that namespace.
|
|
<P>
|
|
<DT id="72">56.<B> nsUTS -- UTS namespace </B><DD>
|
|
The Inode of the namespace used to isolate hostname and NIS domain name.
|
|
UTS simply means "UNIX Time-sharing System".
|
|
<P>
|
|
<DT id="73">57.<B> vMj -- Major Page Fault Count Delta</B><DD>
|
|
The number of<B> major</B> page faults that have occurred since the
|
|
last update (see nMaj).
|
|
<P>
|
|
<DT id="74">58.<B> vMn -- Minor Page Fault Count Delta</B><DD>
|
|
The number of<B> minor</B> page faults that have occurred since the
|
|
last update (see nMin).
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbAP"> </A>
|
|
<H3>3b. MANAGING Fields</H3>
|
|
|
|
|
|
After pressing the interactive command `f' or `F' (Fields Management) you will be presented
|
|
with a screen showing: 1) the `current' window name; 2) the designated sort field;
|
|
3) all fields in their current order along with descriptions.
|
|
Entries marked with an asterisk are the currently displayed fields,
|
|
screen width permitting.
|
|
<P>
|
|
<DL COMPACT><DT id="75"><DD>
|
|
<DL COMPACT>
|
|
<DT id="76">•<DD>
|
|
As the on screen instructions indicate, you navigate among the fields with
|
|
the<B> Up</B> and<B> Down</B> arrow keys.
|
|
The PgUp, PgDn, Home and End keys can also be used to quickly reach the
|
|
first or last available field.
|
|
<P>
|
|
<DT id="77">•<DD>
|
|
The<B> Right</B> arrow key selects a field for repositioning and
|
|
the<B> Left</B> arrow key or the <<B>Enter</B>> key commits that field's
|
|
placement.
|
|
<P>
|
|
<DT id="78">•<DD>
|
|
The `<B>d</B>' key or the <<B>Space</B>> bar toggles a field's display
|
|
status, and thus the presence or absence of the asterisk.
|
|
<P>
|
|
<DT id="79">•<DD>
|
|
The `<B>s</B>' key designates a field as the sort field.
|
|
See topic 4c. TASK AREA Commands, SORTING for additional information regarding
|
|
your selection of a sort field.
|
|
<P>
|
|
<DT id="80">•<DD>
|
|
The `<B>a</B>' and `<B>w</B>' keys can be used to cycle through all available
|
|
windows and the `<B>q</B>' or <<B>Esc</B>> keys exit Fields Management.
|
|
</DL>
|
|
</DL>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
The Fields Management screen can also be used to change the `current' window/field group in
|
|
either full-screen mode or alternate-display mode.
|
|
Whatever was targeted when `q' or <Esc> was pressed will be made current
|
|
as you return to the top display.
|
|
See topic 5. ALTERNATE-DISPLAY Provisions and the `g' interactive command for insight
|
|
into `current' windows and field groups.
|
|
<P>
|
|
<P>
|
|
|
|
<B>Note</B>: Any window that has been scrolled<I> horizontally</I> will be reset if any
|
|
field changes are made via the Fields Management screen.
|
|
Any<I> vertical</I> scrolled position, however, will not be affected.
|
|
See topic 5c. SCROLLING a Window for additional information regarding vertical
|
|
and horizontal scrolling.
|
|
<P>
|
|
|
|
<A NAME="lbAQ"> </A>
|
|
<H2>4. INTERACTIVE Commands</H2>
|
|
|
|
|
|
Listed below is a brief index of commands within categories.
|
|
Some commands appear more than once -- their meaning or scope may vary
|
|
depending on the context in which they are issued.
|
|
<P>
|
|
<PRE>
|
|
4a.<I> Global-Commands </I>
|
|
<Ent/Sp> ?, =, 0,
|
|
A, B, d, E, e, g, h, H, I, k, q, r, s, W, X, Y, Z
|
|
4b.<I> Summary-Area-Commands </I>
|
|
C, l, t, m, 1, 2, 3
|
|
4c.<I> Task-Area-Commands </I>
|
|
Appearance: b, J, j, x, y, z
|
|
Content: c, f, F, o, O, S, u, U, V, v
|
|
Size: #, i, n
|
|
Sorting: <, >, f, F, R
|
|
4d.<I> Color-Mapping </I>
|
|
<Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
|
|
5b.<I> Commands-for-Windows </I>
|
|
-, _, =, +, A, a, g, G, w
|
|
5c.<I> Scrolling-a-Window </I>
|
|
C, Up, Dn, Left, Right, PgUp, PgDn, Home, End
|
|
5d.<I> Searching-in-a-Window </I>
|
|
L, &
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAR"> </A>
|
|
<H3>4a. GLOBAL Commands</H3>
|
|
|
|
|
|
The global interactive commands are<B> always</B> available in both full-screen mode and alternate-display mode.
|
|
However, some of these interactive commands are<B> not available</B> when running
|
|
in Secure mode.
|
|
<P>
|
|
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
|
|
line.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="81"> <<B>Enter</B>> or <<B>Space</B>> :<I>Refresh-Display </I><DD>
|
|
These commands awaken top and following receipt of any input
|
|
the entire display will be repainted.
|
|
They also force an update of any hotplugged cpu or physical memory changes.
|
|
<P>
|
|
Use either of these keys if you have a large delay interval and wish
|
|
to see current status,
|
|
<P>
|
|
<DT id="82"> <B>?</B> | <B>h</B> :<I>Help </I><DD>
|
|
There are two help levels available.
|
|
The first will provide a reminder of all the basic interactive commands.
|
|
If top is<I> secured</I>, that screen will be abbreviated.
|
|
<P>
|
|
Typing `h' or `?' on that help screen will take you to help for
|
|
those interactive commands applicable to alternate-display mode.
|
|
<P>
|
|
<DT id="83"> <B>=</B> :<I>Exit-Task-Limits </I><DD>
|
|
Removes restrictions on which tasks are shown.
|
|
This command will reverse any `i' (idle tasks), `n' (max tasks)
|
|
and `v' (hide children) commands that might be active.
|
|
It also provides for an exit from PID monitoring, User filtering,
|
|
Other filtering and Locate processing.
|
|
<P>
|
|
Additionally, if the window has been scrolled it will be reset with
|
|
this command.
|
|
<P>
|
|
<DT id="84"> <B>0</B> :<I>Zero-Suppress</I> toggle <DD>
|
|
This command determines whether zeros are shown or suppressed for many
|
|
of the fields in a task window.
|
|
Fields like UID, GID, NI, PR or P are not affected by this toggle.
|
|
<P>
|
|
<DT id="85"> <B>A</B> :<I>Alternate-Display-Mode</I> toggle <DD>
|
|
This command will switch between full-screen mode and alternate-display mode.
|
|
See topic 5. ALTERNATE-DISPLAY Provisions and the `g' interactive command for insight
|
|
into `current' windows and field groups.
|
|
<P>
|
|
<DT id="86"> <B>B</B> :<I>Bold-Disable/Enable</I> toggle <DD>
|
|
This command will influence use of the bold terminfo capability and
|
|
alters<B> both</B> the summary area and task area for the `current' window.
|
|
While it is intended primarily for use with dumb terminals, it can be
|
|
applied anytime.
|
|
<P>
|
|
<B>Note</B>: When this toggle is <I>On</I> and top is operating in monochrome mode,
|
|
the<B> entire display</B> will appear as normal text.
|
|
Thus, unless the `x' and/or `y' toggles are using reverse for emphasis,
|
|
there will be no visual confirmation that they are even on.
|
|
<P>
|
|
<DT id="87">* <B>d</B> | <B>s</B> :<I>Change-Delay-Time-interval </I><DD>
|
|
You will be prompted to enter the delay time, in seconds, between
|
|
display updates.
|
|
<P>
|
|
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 proportional to system loading,
|
|
so set it with care.
|
|
<P>
|
|
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.
|
|
<P>
|
|
<DT id="88"> <B>E</B> :<I>Extend-Memory-Scale</I> in Summary Area<DD>
|
|
With this command you can cycle through the available summary area memory scaling
|
|
which ranges from KiB (kibibytes or 1,024 bytes) through EiB (exbibytes or
|
|
1,152,921,504,606,846,976 bytes).
|
|
<P>
|
|
If you see a `+' between a displayed number and the following label, it
|
|
means that top was forced to truncate some portion of that number.
|
|
By raising the scaling factor, such truncation can be avoided.
|
|
<P>
|
|
<DT id="89"> <B>e</B> :<I>Extend-Memory-Scale</I> in Task Windows<DD>
|
|
With this command you can cycle through the available task window memory scaling
|
|
which ranges from KiB (kibibytes or 1,024 bytes) through PiB (pebibytes or
|
|
1,125,899,906,842,624 bytes).
|
|
<P>
|
|
While top will try to honor the selected target range, additional
|
|
scaling might still be necessary in order to accommodate current values.
|
|
If you wish to see a more homogeneous result in the memory columns,
|
|
raising the scaling range will usually accomplish that goal.
|
|
Raising it too high, however, is likely to produce an all zero result
|
|
which cannot be suppressed with the `0' interactive command.
|
|
<P>
|
|
<DT id="90"> <B>g</B> :<I>Choose-Another-Window/Field-Group </I><DD>
|
|
You will be prompted to enter a number between 1 and 4 designating the
|
|
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.
|
|
<P>
|
|
<DT id="91"> <B>H</B> :<I>Threads-mode</I> toggle <DD>
|
|
When this toggle is <I>On</I>, individual threads will be displayed for all
|
|
processes in all visible task windows.
|
|
Otherwise, top displays a summation of all threads in each process.
|
|
<P>
|
|
<DT id="92"> <B>I</B> :<I>Irix/Solaris-Mode</I> toggle <DD>
|
|
When operating in Solaris mode (`I' toggled <I>Off</I>), a task's cpu usage
|
|
will be divided by the total number of CPUs.
|
|
After issuing this command, you'll be told the new state of this toggle.
|
|
<P>
|
|
<DT id="93">* <B>k</B> :<I>Kill-a-task </I><DD>
|
|
You will be prompted for a PID and then the signal to send.
|
|
<P>
|
|
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.
|
|
<P>
|
|
The default signal, as reflected in the prompt, is SIGTERM.
|
|
However, you can send any signal, via number or name.
|
|
<P>
|
|
If you wish to abort the kill process, do one of the following
|
|
depending on your progress:
|
|
<PRE>
|
|
1) at the pid prompt, type an invalid number
|
|
2) at the signal prompt, type 0 (or any invalid signal)
|
|
3) at any prompt, type <Esc>
|
|
</PRE>
|
|
|
|
<P>
|
|
<DT id="94"> <B>q</B> :<I>Quit </I><DD>
|
|
<P>
|
|
<DT id="95">* <B>r</B> :<I>Renice-a-Task </I><DD>
|
|
You will be prompted for a PID and then the value to nice it to.
|
|
<P>
|
|
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.
|
|
<P>
|
|
A positive nice value will cause a process to lose priority.
|
|
Conversely, a negative nice value will cause a process to be viewed
|
|
more favorably by the kernel.
|
|
As a general rule, ordinary users can only increase the nice value
|
|
and are prevented from lowering it.
|
|
<P>
|
|
If you wish to abort the renice process, do one of the following
|
|
depending on your progress:
|
|
<PRE>
|
|
1) at the pid prompt, type an invalid number
|
|
2) at the nice prompt, type <Enter> with no input
|
|
3) at any prompt, type <Esc>
|
|
</PRE>
|
|
|
|
<P>
|
|
<DT id="96"> <B>W</B> :<I>Write-the-Configuration-File </I><DD>
|
|
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.
|
|
<P>
|
|
<DT id="97"> <B>X</B> :<I>Extra-Fixed-Width </I><DD>
|
|
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.
|
|
<P>
|
|
This interactive command can be used to alter the widths of the following fields:
|
|
<P>
|
|
<PRE>
|
|
<I> field default field default field default </I>
|
|
GID 5 GROUP 8 WCHAN 10
|
|
RUID 5 LXC 8 nsIPC 10
|
|
SUID 5 RUSER 8 nsMNT 10
|
|
UID 5 SUSER 8 nsNET 10
|
|
TTY 8 nsPID 10
|
|
USER 8 nsUSER 10
|
|
nsUTS 10
|
|
</PRE>
|
|
|
|
<P>
|
|
You will be prompted for the amount to be added to the default
|
|
widths shown above.
|
|
Entering zero forces a return to those defaults.
|
|
<P>
|
|
If you enter a negative number, top will automatically increase
|
|
the column size as needed until there is no more truncated data.
|
|
You can accelerate this process by reducing the delay interval
|
|
or holding down the <Space> bar.
|
|
<P>
|
|
<B>Note</B>: Whether explicitly or automatically increased, the widths for
|
|
these fields are never decreased by top.
|
|
To narrow them you must specify a smaller number or restore the defaults.
|
|
<P>
|
|
<DT id="98"> <B>Y</B> :<I>Inspect-Other-Output </I><DD>
|
|
After issuing the `Y' interactive command, you will be prompted for a target PID.
|
|
Typing a value or accepting the default results in a separate screen.
|
|
That screen can be used to view a variety of files or piped command output
|
|
while the normal top iterative display is paused.
|
|
<P>
|
|
<B>Note</B>: This interactive command is only fully realized when supporting entries have been
|
|
manually added to the end of the top configuration file.
|
|
For details on creating those entries, see topic 6b. ADDING INSPECT Entries.
|
|
<P>
|
|
Most of the keys used to navigate the Inspect feature are reflected in
|
|
its header prologue.
|
|
There are, however, additional keys available once you have selected a
|
|
particular file or command.
|
|
They are familiar to anyone who has used the pager `less' and are
|
|
summarized here for future reference.
|
|
<P>
|
|
<PRE>
|
|
<I> key function </I>
|
|
= alternate status-line, file or pipeline
|
|
/ find, equivalent to `L' locate
|
|
n find next, equivalent to `&' locate next
|
|
<Space> scroll down, equivalent to <PgDn>
|
|
b scroll up, equivalent to <PgUp>
|
|
g first line, equivalent to <Home>
|
|
G last line, equivalent to <End>
|
|
</PRE>
|
|
|
|
<P>
|
|
<DT id="99"> <B>Z</B> :<I>Change-Color-Mapping </I><DD>
|
|
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 4d. COLOR Mapping.
|
|
<P>
|
|
<DT id="100">*<DD>
|
|
The commands shown with an asterisk (`*') are not available in Secure mode,
|
|
nor will they be shown on the level-1 help screen.
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbAS"> </A>
|
|
<H3>4b. SUMMARY AREA Commands</H3>
|
|
|
|
|
|
The summary area interactive commands are<B> always available</B> 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 prompts.
|
|
<P>
|
|
These commands always impact just the `current' window/field group.
|
|
See topic 5. ALTERNATE-DISPLAY Provisions and the `g' interactive command for insight into
|
|
`current' windows and field groups.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="101"> <B>C</B> :<I>Show-scroll-coordinates</I> toggle <DD>
|
|
Toggle an informational message which is displayed whenever the message
|
|
line is not otherwise being used.
|
|
For additional information see topic 5c. SCROLLING a Window.
|
|
<P>
|
|
<DT id="102"> <B>l</B> :<I>Load-Average/Uptime</I> toggle <DD>
|
|
This is also the line containing the program name (possibly an alias)
|
|
when operating in full-screen mode or the `current' window name when operating in alternate-display mode.
|
|
<P>
|
|
<DT id="103"> <B>t</B> :<I>Task/Cpu-States</I> toggle <DD>
|
|
This command affects from 2 to many summary area lines, depending on the state
|
|
of the `1', `2' or `3' command toggles and whether or not top is running under
|
|
true SMP.
|
|
<P>
|
|
This portion of the summary area is also influenced by the `H' interactive command toggle,
|
|
as reflected in the total label which shows either Tasks or Threads.
|
|
<P>
|
|
This command serves as a 4-way toggle, cycling through these modes:
|
|
<PRE>
|
|
1. detailed percentages by category
|
|
2. abbreviated user/system and total % + bar graph
|
|
3. abbreviated user/system and total % + block graph
|
|
4. turn off task and cpu states display
|
|
</PRE>
|
|
|
|
<P>
|
|
When operating in either of the graphic modes, the display becomes much
|
|
more meaningful when individual CPUs or NUMA nodes are also displayed.
|
|
See the the `1', `2' and `3' commands below for additional information.
|
|
<P>
|
|
<DT id="104"> <B>m</B> :<I>Memory/Swap-Usage</I> toggle <DD>
|
|
This command affects the two summary area lines dealing with physical
|
|
and virtual memory.
|
|
<P>
|
|
This command serves as a 4-way toggle, cycling through these modes:
|
|
<PRE>
|
|
1. detailed percentages by memory type
|
|
2. abbreviated % used/total available + bar graph
|
|
3. abbreviated % used/total available + block graph
|
|
4. turn off memory display
|
|
</PRE>
|
|
|
|
<P>
|
|
<DT id="105"> <B>1</B> :<I>Single/Separate-Cpu-States</I> toggle <DD>
|
|
This command affects how the `t' command's Cpu States portion is shown.
|
|
Although this toggle exists primarily to serve massively-parallel SMP
|
|
machines, it is not restricted to solely SMP environments.
|
|
<P>
|
|
When you see `%Cpu(s):' in the summary area, the `1' toggle is <I>On</I> and all
|
|
cpu information is gathered in a single line.
|
|
Otherwise, each cpu is displayed separately as: `%Cpu0, %Cpu1, ...'
|
|
up to available screen height.
|
|
<P>
|
|
<DT id="106"> <B>2</B> :<I>NUMA-Nodes/Cpu-Summary</I> toggle <DD>
|
|
This command toggles between the `1' command cpu summary display (only)
|
|
or a summary display plus the cpu usage statistics for each NUMA Node.
|
|
It is only available if a system has the requisite NUMA support.
|
|
<P>
|
|
<DT id="107"> <B>3</B> :<I>Expand-NUMA-Node </I><DD>
|
|
You will be invited to enter a number representing a NUMA Node.
|
|
Thereafter, a node summary plus the statistics for each cpu in that
|
|
node will be shown until either the `1' or `2' command toggle is pressed.
|
|
This interactive command is only available if a system has the requisite NUMA support.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
<B>Note</B>: If the entire summary area has been toggled <I>Off</I> for any window, you would
|
|
be left with just the<B> message line</B>.
|
|
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.
|
|
<P>
|
|
|
|
<A NAME="lbAT"> </A>
|
|
<H3>4c. TASK AREA Commands</H3>
|
|
|
|
|
|
The task area interactive commands are<B> always</B> available in full-screen mode.
|
|
<P>
|
|
The task area interactive commands are<B> never available</B> in alternate-display mode<I> if</I> the `current' window's
|
|
task display has been toggled <I>Off</I> (see topic 5. ALTERNATE-DISPLAY Provisions).
|
|
<P>
|
|
<P>
|
|
|
|
|
|
<B>APPEARANCE</B> of task window
|
|
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="108"> <B>J</B> :<I>Justify-Numeric-Columns</I> toggle <DD>
|
|
Alternates between right-justified (the default) and
|
|
left-justified numeric data.
|
|
If the numeric data completely fills the available column, this
|
|
command toggle may impact the column header only.
|
|
<P>
|
|
<DT id="109"> <B>j</B> :<I>Justify-Character-Columns</I> toggle <DD>
|
|
Alternates between left-justified (the default) and
|
|
right-justified character data.
|
|
If the character data completely fills the available column, this
|
|
command toggle may impact the column header only.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
<DL COMPACT><DT id="110"><DD>
|
|
The following commands will also be influenced by the state of the
|
|
global `B' (bold enable) toggle.
|
|
</DL>
|
|
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="111"> <B>b</B> :<I>Bold/Reverse</I> toggle <DD>
|
|
This command will impact how the `x' and `y' toggles are displayed.
|
|
It may also impact the summary area when a bar graph has been selected for cpu
|
|
states or memory usage via the `t' or `m' toggles.
|
|
<P>
|
|
<DT id="112"> <B>x</B> :<I>Column-Highlight</I> toggle <DD>
|
|
Changes highlighting for the current sort field.
|
|
If you forget which field is being sorted this command can serve as a quick
|
|
visual reminder, providing the sort field is being displayed.
|
|
The sort field might<I> not</I> be visible because:
|
|
<BR> 1) there is insufficient<I> Screen Width </I>
|
|
<BR> 2) the `f' interactive command turned it <I>Off</I>
|
|
<P>
|
|
<B>Note</B>: Whenever Searching and/or Other Filtering is active in a window,
|
|
column highlighting is temporarily disabled.
|
|
See the notes at the end of topics 5d. SEARCHING and 5e. FILTERING for an
|
|
explanation why.
|
|
<P>
|
|
<DT id="113"> <B>y</B> :<I>Row-Highlight</I> toggle <DD>
|
|
Changes highlighting for "running" tasks.
|
|
For additional insight into this task state,
|
|
see topic 3a. DESCRIPTIONS of Fields, the `S' field (Process Status).
|
|
<P>
|
|
Use of this provision provides important insight into your system's health.
|
|
The only costs will be a few additional tty escape sequences.
|
|
<P>
|
|
<DT id="114"> <B>z</B> :<I>Color/Monochrome</I> toggle <DD>
|
|
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<B> both</B> the summary area and task area but does not affect
|
|
the state of the `x', `y' or `b' toggles.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
|
|
<B>CONTENT</B> of task window
|
|
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="115"> <B>c</B> :<I>Command-Line/Program-Name</I> toggle <DD>
|
|
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.
|
|
<P>
|
|
<DT id="116"> <B>f</B> | <B>F</B> :<I>Fields-Management </I><DD>
|
|
These keys display a separate screen where you can change which fields are
|
|
displayed, their order and also designate the sort field.
|
|
For additional information on these interactive commands
|
|
see topic 3b. MANAGING Fields.
|
|
<P>
|
|
<DT id="117"> <B>o</B> | <B>O</B> :<I>Other-Filtering </I><DD>
|
|
You will be prompted for the selection criteria which then determines
|
|
which tasks will be shown in the `current' window.
|
|
Your criteria can be made case sensitive or case can be ignored.
|
|
And you determine if top should include or exclude matching tasks.
|
|
<P>
|
|
See topic 5e. FILTERING in a window for details on these and additional
|
|
related interactive commands.
|
|
<P>
|
|
<DT id="118"> <B>S</B> :<I>Cumulative-Time-Mode</I> toggle <DD>
|
|
When Cumulative mode is <I>On</I>, each process is listed with the cpu
|
|
time that it and its dead children have used.
|
|
<P>
|
|
When <I>Off</I>, 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 prefer.
|
|
<P>
|
|
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.
|
|
<P>
|
|
<DT id="119"> <B>u</B> | <B>U</B> :<I>Show-Specific-User-Only </I><DD>
|
|
You will be prompted for the<B> uid</B> or<B> name</B> of the user to display.
|
|
The -u option matches on <B> effective</B> user whereas the -U option
|
|
matches on<B> any</B> user (real, effective, saved, or filesystem).
|
|
<P>
|
|
Thereafter, in that task window only matching users will be shown, or possibly
|
|
no processes will be shown.
|
|
Prepending an exclamation point (`!') to the user id or name instructs top
|
|
to display only processes with users not matching the one provided.
|
|
<P>
|
|
Different task windows can be used to filter different users.
|
|
Later, if you wish to monitor all users again in the `current' window, re-issue this
|
|
command but just press <Enter> at the prompt.
|
|
<P>
|
|
<DT id="120"> <B>V</B> :<I>Forest-View-Mode</I> toggle <DD>
|
|
In this mode, processes are reordered according to their parents and
|
|
the layout of the COMMAND column resembles that of a tree.
|
|
In forest view mode it is still possible to toggle between program
|
|
name and command line (see the `c' interactive command) or between processes and
|
|
threads (see the `H' interactive command).
|
|
<P>
|
|
<B>Note</B>: Typing any key affecting the sort order will exit forest view
|
|
mode in the `current' window.
|
|
See topic 4c. TASK AREA Commands, SORTING for information on those keys.
|
|
<P>
|
|
<DT id="121"> <B>v</B> :<I>Hide/Show-Children</I> toggle <DD>
|
|
When in forest view mode, this key serves as a toggle to collapse or
|
|
expand the children of a parent.
|
|
<P>
|
|
The toggle is applied against the first (topmost) process in the `current' window.
|
|
See topic 5c. SCROLLING a Window for additional information regarding
|
|
vertical scrolling.
|
|
<P>
|
|
If the target process has not forked any children, this key has no effect.
|
|
It also has no effect when not in forest view mode.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
|
|
<B>SIZE</B> of task window
|
|
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="122"> <B>i</B> :<I>Idle-Process</I> toggle <DD>
|
|
Displays all tasks or just active tasks.
|
|
When this toggle is <I>Off</I>, tasks that have not used any CPU since the
|
|
last update will not be displayed.
|
|
However, due to the granularity of the %CPU and TIME+ fields,
|
|
some processes may still be displayed that<I> appear</I> to have
|
|
used<I> no</I> CPU.
|
|
<P>
|
|
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.
|
|
<P>
|
|
<DT id="123"> <B>n</B> | <B>#</B> :<I>Set-Maximum-Tasks </I><DD>
|
|
You will be prompted to enter the number of tasks to display.
|
|
The lessor of your number and available screen rows will be used.
|
|
<P>
|
|
When used in alternate-display mode, this is the command that gives you precise control over
|
|
the size of each currently visible 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.
|
|
<P>
|
|
<B>Note</B>: 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.
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
|
|
<B>SORTING</B> of task window
|
|
|
|
<P>
|
|
|
|
<DL COMPACT><DT id="124"><DD>
|
|
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.
|
|
<PRE>
|
|
<I> command sorted-field supported </I>
|
|
A start time (non-display) <B> No </B>
|
|
M %MEM Yes
|
|
N PID Yes
|
|
P %CPU Yes
|
|
T TIME+ Yes
|
|
</PRE>
|
|
|
|
<P>
|
|
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.
|
|
<P>
|
|
The following interactive commands will<B> only</B> be honored when the current sort field
|
|
is<B> visible</B>.
|
|
The sort field might<I> not</I> be visible because:
|
|
<BR> 1) there is insufficient<I> Screen Width </I>
|
|
<BR> 2) the `f' interactive command turned it <I>Off</I>
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="125"> <B><</B> :<I>Move-Sort-Field-Left </I><DD>
|
|
Moves the sort column to the left unless the current sort field is
|
|
the first field being displayed.
|
|
<P>
|
|
<DT id="126"> <B>></B> :<I>Move-Sort-Field-Right </I><DD>
|
|
Moves the sort column to the right unless the current sort field is
|
|
the last field being displayed.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
The following interactive commands will<B> always</B> be honored whether or not
|
|
the current sort field is visible.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="127"> <B>f</B> | <B>F</B> :<I>Fields-Management </I><DD>
|
|
These keys display a separate screen where you can change which field
|
|
is used as the sort column, among other functions.
|
|
This can be a convenient way to simply verify the current sort field,
|
|
when running top with column highlighting turned <I>Off</I>.
|
|
<P>
|
|
<DT id="128"> <B>R</B> :<I>Reverse/Normal-Sort-Field</I> toggle <DD>
|
|
Using this interactive command you can alternate between high-to-low and low-to-high sorts.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
<B>Note</B>: Field sorting uses internal values, not those in column display.
|
|
Thus, the TTY and WCHAN fields will violate strict ASCII collating sequence.
|
|
</DL>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAU"> </A>
|
|
<H3>4d. COLOR Mapping</H3>
|
|
|
|
|
|
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.
|
|
<P>
|
|
<P>
|
|
|
|
The following interactive commands are available.
|
|
<PRE>
|
|
<B>4</B> upper case letters to select a<B> target </B>
|
|
<B>8</B> numbers to select a<B> color </B>
|
|
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
|
|
</PRE>
|
|
|
|
<P>
|
|
If you 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 <I>Off</I> completely with the `z' toggle.
|
|
<P>
|
|
The Color Mapping screen can also be used to change the `current' window/field group in
|
|
either full-screen mode or alternate-display mode.
|
|
Whatever was targeted when `q' or <Enter> was pressed will be made current
|
|
as you return to the top display.
|
|
<P>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbAV"> </A>
|
|
<H2>5. ALTERNATE-DISPLAY Provisions</H2>
|
|
|
|
|
|
|
|
<A NAME="lbAW"> </A>
|
|
<H3>5a. WINDOWS Overview</H3>
|
|
|
|
|
|
<DL COMPACT>
|
|
<DT id="129"><B>Field Groups/Windows</B>:
|
|
|
|
<DD>
|
|
In full-screen mode there is a single window represented by the entire screen.
|
|
That single window can still be changed to display 1 of 4 different<B> field
|
|
groups</B> (see the `g' interactive command, repeated below).
|
|
Each of the 4 field groups has a unique separately configurable<B> summary area </B>
|
|
and its own configurable<B> task area</B>.
|
|
<P>
|
|
In alternate-display mode, those 4 underlying field groups can now be made visible
|
|
simultaneously, or can be turned <I>Off</I> individually at your command.
|
|
<P>
|
|
The summary area will always exist, even if it's only the message line.
|
|
At any given time only<I> one</I> summary area can be displayed.
|
|
However, depending on your commands, there could be from<I> zero </I>
|
|
to<I> four</I> separate task displays currently showing on the screen.
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="130"><B>Current Window</B>:
|
|
|
|
<DD>
|
|
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 <I>Off</I>, some commands might be
|
|
restricted for the `current' window.
|
|
<P>
|
|
A further complication arises when you have toggled the first summary area
|
|
line <I>Off</I>.
|
|
With the loss of the window name (the `l' toggled line), you'll not easily
|
|
know what window is the `current' window.
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbAX"> </A>
|
|
<H3>5b. COMMANDS for Windows</H3>
|
|
|
|
|
|
<DL COMPACT>
|
|
<DT id="131"> <B>-</B> | <B>_</B> :<I>Show/Hide-Window(s)</I> toggles <DD>
|
|
The `-' key turns the `current' window's task display <I>On</I> and <I>Off</I>.
|
|
When <I>On</I>, that task area will show a minimum of the columns header you've
|
|
established with the `f' interactive command.
|
|
It will also reflect any other task area options/toggles you've applied
|
|
yielding zero or more tasks.
|
|
<P>
|
|
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 <I>Off</I>.
|
|
If all 4 task displays are currently visible, this interactive command will leave the summary area
|
|
as the only display element.
|
|
<P>
|
|
<DT id="132">* <B>=</B> | <B>+</B> :<I>Equalize-(reinitialize)-Window(s) </I><DD>
|
|
The `=' key forces the `current' window's task display to be visible.
|
|
It also reverses any active `i' (idle tasks), `n' (max tasks), `u/U'
|
|
(user filter), `o/O' (other filter), `v' (hide children) and 'L' (locate)
|
|
commands.
|
|
Also, if the window had been scrolled, it will be reset with this command.
|
|
See topic 5c. SCROLLING a Window for additional information regarding vertical
|
|
and horizontal scrolling.
|
|
<P>
|
|
The `+' key does the same for all windows.
|
|
The four task displays will reappear, evenly balanced.
|
|
They will also have retained any customizations you had previously
|
|
applied, except for the `i' (idle tasks), `n' (max tasks), `u/U'
|
|
(user filter), `o/O' (other filter), `v' (hide children), `L' (locate)
|
|
and scrolling interactive commands.
|
|
<P>
|
|
<DT id="133">* <B>A</B> :<I>Alternate-Display-Mode</I> toggle <DD>
|
|
This command will switch between full-screen mode and alternate-display mode.
|
|
<P>
|
|
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.
|
|
<P>
|
|
<DT id="134">* <B>a</B> | <B>w</B> :<I>Next-Window-Forward/Backward </I><DD>
|
|
This will change the `current' window, which in turn changes the window to which
|
|
commands are directed.
|
|
These keys act in a circular fashion so you can reach any desired window
|
|
using either key.
|
|
<P>
|
|
Assuming the window name is visible (you have not toggled `l' <I>Off</I>),
|
|
whenever the `current' window name loses its emphasis/color, that's a reminder
|
|
the task display is <I>Off</I> and many commands will be restricted.
|
|
<P>
|
|
<DT id="135">* <B>g</B> :<I>Choose-Another-Window/Field-Group </I><DD>
|
|
You will be prompted to enter a number between 1 and 4 designating the
|
|
field group which should be made the `current' window.
|
|
<P>
|
|
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.
|
|
<P>
|
|
<DT id="136"> <B>G</B> :<I>Change-Window/Field-Group-Name </I><DD>
|
|
You will be prompted for a new name to be applied to the `current' window.
|
|
It does not require that the window name be visible
|
|
(the `l' toggle to be <I>On</I>).
|
|
<P>
|
|
<DT id="137">*<DD>
|
|
The interactive commands shown with an asterisk (`*') have use beyond alternate-display mode.
|
|
<PRE>
|
|
=, A, g are always available
|
|
a, w act the same with color mapping
|
|
and fields management
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbAY"> </A>
|
|
<H3>5c. SCROLLING a Window</H3>
|
|
|
|
|
|
Typically a task window is a partial view into a systems's total tasks/threads
|
|
which shows only some of the available fields/columns.
|
|
With these scrolling keys, you can move that view vertically or horizontally to
|
|
reveal any desired task or column.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="138"><B>Up</B>,<B>PgUp</B> :<I>Scroll-Tasks </I><DD>
|
|
Move the view up toward the first task row, until the first task is
|
|
displayed at the top of the `current' window.
|
|
The <I>Up</I> arrow key moves a single line while <I>PgUp</I> scrolls the
|
|
entire window.
|
|
<P>
|
|
<DT id="139"><B>Down</B>,<B>PgDn</B> :<I>Scroll-Tasks </I><DD>
|
|
Move the view down toward the last task row, until the last task is
|
|
the only task displayed at the top of the `current' window.
|
|
The <I>Down</I> arrow key moves a single line while <I>PgDn</I> scrolls the
|
|
entire window.
|
|
<P>
|
|
<DT id="140"><B>Left</B>,<B>Right</B> :<I>Scroll-Columns </I><DD>
|
|
Move the view of displayable fields horizontally one column at a time.
|
|
<P>
|
|
<B>Note</B>: As a reminder, some fields/columns are not fixed-width but
|
|
allocated all remaining screen width when visible.
|
|
When scrolling right or left, that feature may produce some
|
|
unexpected results initially.
|
|
<P>
|
|
Additionally, there are special provisions for any variable width field
|
|
when positioned as the last displayed field.
|
|
Once that field is reached via the right arrow key, and is thus the only
|
|
column shown, you can continue scrolling horizontally within such a field.
|
|
See the `C' interactive command below for additional information.
|
|
<P>
|
|
<DT id="141"><B>Home</B> :<I>Jump-to-Home-Position </I><DD>
|
|
Reposition the display to the un-scrolled coordinates.
|
|
<P>
|
|
<DT id="142"><B>End</B> :<I>Jump-to-End-Position </I><DD>
|
|
Reposition the display so that the rightmost column reflects the last
|
|
displayable field and the bottom task row represents the last task.
|
|
<P>
|
|
<B>Note</B>: From this position it is still possible to scroll<I> down</I>
|
|
and<I> right</I> using the arrow keys.
|
|
This is true until a single column and a single task is left as the only
|
|
display element.
|
|
<P>
|
|
<DT id="143"><B>C</B> :<I>Show-scroll-coordinates</I> toggle <DD>
|
|
Toggle an informational message which is displayed whenever the message
|
|
line is not otherwise being used.
|
|
That message will take one of two forms depending on whether or not a
|
|
variable width column has also been scrolled.
|
|
<P>
|
|
<PRE>
|
|
<B>scroll coordinates: y = n/n (tasks), x = n/n (fields)</B>
|
|
scroll coordinates: y = n/n (tasks), x = n/n (fields)<B> + nn</B>
|
|
</PRE>
|
|
|
|
<P>
|
|
The coordinates shown as <B>n</B>/<B>n</B> are relative to the upper left
|
|
corner of the `current' window.
|
|
The additional `<B>+ nn</B>' represents the displacement into a variable
|
|
width column when it has been scrolled horizontally.
|
|
Such displacement occurs in normal 8 character tab stop amounts via
|
|
the right and left arrow keys.
|
|
<P>
|
|
<DL COMPACT><DT id="144"><DD>
|
|
<DL COMPACT>
|
|
<DT id="145"><B>y = n/n (tasks) </B><DD>
|
|
The first <B>n</B> represents the topmost visible task and is controlled
|
|
by scrolling keys.
|
|
The second <B>n</B> is updated automatically to reflect total tasks.
|
|
<P>
|
|
<DT id="146"><B>x = n/n (fields) </B><DD>
|
|
The first <B>n</B> represents the leftmost displayed column and is
|
|
controlled by scrolling keys.
|
|
The second <B>n</B> is the total number of displayable fields and is
|
|
established with the `<B>f</B>' interactive command.
|
|
</DL>
|
|
</DL>
|
|
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
The above interactive commands are<B> always</B> available in full-screen mode but<B> never</B>
|
|
available in alternate-display mode if the `current' window's task display has been toggled <I>Off</I>.
|
|
<P>
|
|
<B>Note</B>: When any form of filtering is active, you can expect some slight
|
|
aberrations when scrolling since not all tasks will be visible.
|
|
This is particularly apparent when using the Up/Down arrow keys.
|
|
<P>
|
|
|
|
<A NAME="lbAZ"> </A>
|
|
<H3>5d. SEARCHING in a Window</H3>
|
|
|
|
|
|
You can use these interactive commands to locate a task row containing a particular value.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="147"><B>L</B> :<I>Locate-a-string</I><DD>
|
|
You will be prompted for the case-sensitive string to locate starting from
|
|
the current window coordinates.
|
|
There are no restrictions on search string content.
|
|
<P>
|
|
Searches are not limited to values from a single field or column.
|
|
All of the values displayed in a task row are allowed in a search string.
|
|
You may include spaces, numbers, symbols and even forest view artwork.
|
|
<P>
|
|
Keying <Enter> with no input will effectively disable the `&' key until
|
|
a new search string is entered.
|
|
<P>
|
|
<DT id="148"><B>&</B> :<I>Locate-next</I><DD>
|
|
Assuming a search string has been established, top will attempt to locate
|
|
the next occurrence.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
When a match is found, the current window is repositioned vertically so the
|
|
task row containing that string is first.
|
|
The scroll coordinates message can provide confirmation of such vertical
|
|
repositioning (see the `C' interactive command).
|
|
Horizontal scrolling, however, is never altered via searching.
|
|
<P>
|
|
The availability of a matching string will be influenced by the following
|
|
factors.
|
|
<DL COMPACT><DT id="149"><DD>
|
|
<DL COMPACT>
|
|
<DT id="150">a. Which fields are displayable from the total available,<DD>
|
|
see topic 3b. MANAGING Fields.
|
|
<DT id="151">b. Scrolling a window vertically and/or horizontally,<DD>
|
|
see topic 5c. SCROLLING a Window.
|
|
<DT id="152">c. The state of the command/command-line toggle,<DD>
|
|
see the `c' interactive command.
|
|
<DT id="153">d. The stability of the chosen sort column,<DD>
|
|
for example PID is good but %CPU bad.
|
|
</DL>
|
|
</DL>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
If a search fails, restoring the `current' window home (unscrolled) position, scrolling
|
|
horizontally, displaying command-lines or choosing a more stable sort field
|
|
could yet produce a successful `&' search.
|
|
<P>
|
|
The above interactive commands are<B> always</B> available in full-screen mode but<B> never</B>
|
|
available in alternate-display mode if the `current' window's task display has been toggled <I>Off</I>.
|
|
<P>
|
|
<B>Note</B>: Whenever a Search is active in a window, top will turn
|
|
column highlighting <I>Off</I> to prevent false matches on internal non-display
|
|
escape sequences.
|
|
Such highlighting will be restored when a window's search string is empty.
|
|
See the `x' interactive command for additional information on sort column highlighting.
|
|
<P>
|
|
|
|
<A NAME="lbBA"> </A>
|
|
<H3>5e. FILTERING in a Window</H3>
|
|
|
|
|
|
You can use this `Other Filter' feature to establish selection criteria which
|
|
will then determine which tasks are shown in the `current' window.
|
|
Such filters can be made presistent if preserved in the rcfile via
|
|
the 'W' interactive command.
|
|
<P>
|
|
Establishing a filter requires: 1) a field name; 2) an operator; and
|
|
3) a selection value, as a minimum.
|
|
This is the most complex of top's user input requirements so, when you make
|
|
a mistake, command recall will be your friend.
|
|
Remember the Up/Down arrow keys or their aliases when prompted for input.
|
|
<P>
|
|
<B>Filter Basics</B>
|
|
|
|
<DL COMPACT><DT id="154"><DD>
|
|
<DL COMPACT>
|
|
<DT id="155">1. field names are case sensitive and spelled as in the header<DD>
|
|
<DT id="156">2. selection values need not comprise the full displayed field<DD>
|
|
<DT id="157">3. a selection is either case insensitive or sensitive to case<DD>
|
|
<DT id="158">4. the default is inclusion, prepending `!' denotes exclusions<DD>
|
|
<DT id="159">5. multiple selection criteria can be applied to a task window<DD>
|
|
<DT id="160">6. inclusion and exclusion criteria can be used simultaneously<DD>
|
|
<DT id="161">7. the 1 equality and 2 relational filters can be freely mixed<DD>
|
|
<DT id="162">8. separate unique filters are maintained for each task window<DD>
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
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 filtered field become visible, the selection criteria will
|
|
then be applied.
|
|
<P>
|
|
|
|
</DL>
|
|
|
|
<P>
|
|
<B>Keyboard Summary</B>
|
|
|
|
<DL COMPACT>
|
|
<DT id="163"> <B>o</B> :<I>Other-Filter</I> (lower case)<DD>
|
|
You will be prompted to establish a filter that <B>ignores case</B> when
|
|
matching.
|
|
<P>
|
|
<DT id="164"> <B>O</B> :<I>Other-Filter</I> (upper case)<DD>
|
|
You will be prompted to establish a <B>case sensitive</B> filter.
|
|
<P>
|
|
<DT id="165"> <B>^O</B> :<I>Show-Active-Filters</I> (Ctrl key + `o')<DD>
|
|
This can serve as a reminder of which filters are active in the `current' window.
|
|
A summary will be shown on the message line until you press the <Enter> key.
|
|
<P>
|
|
<DT id="166"> <B>=</B> :<I>Reset-Filtering</I> in current window<DD>
|
|
This clears all of your selection criteria in the `current' window.
|
|
It also has additional impact so please see topic 4a. GLOBAL Commands.
|
|
<P>
|
|
<DT id="167"> <B>+</B> :<I>Reset-Filtering</I> in all windows<DD>
|
|
This clears the selection criteria in all windows, assuming you are in alternate-display mode.
|
|
As with the `=' interactive command, it too has additional consequences so you might wish to
|
|
see topic 5b. COMMANDS for Windows.
|
|
</DL>
|
|
<P>
|
|
|
|
|
|
<P>
|
|
<B>Input Requirements</B>
|
|
|
|
<DL COMPACT><DT id="168"><DD>
|
|
<P>
|
|
|
|
When prompted for selection criteria, the data you provide must take one
|
|
of two forms.
|
|
There are 3 required pieces of information, with a 4th as optional.
|
|
These examples use spaces for clarity but your input generally would not.
|
|
<PRE>
|
|
#1 <B>#2</B> #3 ( required )
|
|
Field-Name ? include-if-value
|
|
<B>!</B> Field-Name ? <B>exclude</B>-if-value
|
|
#4 ( optional )
|
|
</PRE>
|
|
|
|
<P>
|
|
Items #1, #3 and #4 should be self-explanatory.
|
|
Item <B>#2</B> represents both a required <I>delimiter</I> and the <I>operator</I>
|
|
which must be one of either equality (`=') or relation (`<' or `>').
|
|
<P>
|
|
The `=' equality operator requires only a partial match and that
|
|
can reduce your `if-value' input requirements.
|
|
The `>' or `<' relational operators always employ string comparisons,
|
|
even with numeric fields.
|
|
They are designed to work with a field's default <I>justification</I> and
|
|
with homogeneous data.
|
|
When some field's numeric amounts have been subjected to <I>scaling</I>
|
|
while others have not, that data is no longer homogeneous.
|
|
<P>
|
|
If you establish a relational filter and you <B>have</B> changed the
|
|
default Numeric or Character <I>justification</I>, that filter is likely to fail.
|
|
When a relational filter is applied to a memory field and you <B>have not</B>
|
|
changed the <I>scaling</I>, it may produce misleading results.
|
|
This happens, for example, because `100.0m' (MiB) would appear greater
|
|
than `1.000g' (GiB) when compared as strings.
|
|
<P>
|
|
If your filtered results appear suspect, simply altering justification or
|
|
scaling may yet achieve the desired objective.
|
|
See the `j', `J' and `e' interactive commands for additional information.
|
|
<P>
|
|
|
|
</DL>
|
|
|
|
<P>
|
|
<B>Potential Problems</B>
|
|
|
|
<DL COMPACT><DT id="169"><DD>
|
|
<P>
|
|
|
|
These <B>GROUP</B> filters could produce the exact same results or the
|
|
second one might not display anything at all, just a blank task window.
|
|
<PRE>
|
|
GROUP=root ( only the same results when )
|
|
GROUP=ROOT ( invoked via lower case `o' )
|
|
</PRE>
|
|
|
|
<P>
|
|
Either of these <B>RES</B> filters might yield inconsistent and/or
|
|
misleading results, depending on the current memory scaling factor.
|
|
Or both filters could produce the exact same results.
|
|
<PRE>
|
|
RES>9999 ( only the same results when )
|
|
!RES<10000 ( memory scaling is at `KiB' )
|
|
</PRE>
|
|
|
|
<P>
|
|
This <B>nMin</B> filter illustrates a problem unique to scalable fields.
|
|
This particular field can display a maximum of 4 digits, beyond which values
|
|
are automatically scaled to KiB or above.
|
|
So while amounts greater than 9999 exist, they will appear as 2.6m, 197k, etc.
|
|
<PRE>
|
|
nMin>9999 ( always a blank task window )
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
</DL>
|
|
|
|
<P>
|
|
<B>Potential Solutions</B>
|
|
|
|
<DL COMPACT><DT id="170"><DD>
|
|
<P>
|
|
|
|
These examples illustrate how Other Filtering can be creatively
|
|
applied to achieve almost any desired result.
|
|
Single quotes are sometimes shown to delimit the spaces which are part of
|
|
a filter or to represent a request for status (^O) accurately.
|
|
But if you used them with if-values in real life, no matches would be found.
|
|
<P>
|
|
Assuming field <B>nTH</B> is displayed, the first filter will result in
|
|
only multi-threaded processes being shown.
|
|
It also reminds us that a trailing space is part of every displayed field.
|
|
The second filter achieves the exact same results with less typing.
|
|
<PRE>
|
|
!nTH=` 1 ' ( ' for clarity only )
|
|
nTH>1 ( same with less i/p )
|
|
</PRE>
|
|
|
|
<P>
|
|
With Forest View mode active and the <B>COMMAND</B> column in view, this
|
|
filter effectively collapses child processes so that just 3 levels are shown.
|
|
<PRE>
|
|
!COMMAND=` `- ' ( ' for clarity only )
|
|
</PRE>
|
|
|
|
<P>
|
|
The final two filters appear as in response to the status request key (^O).
|
|
In reality, each filter would have required separate input.
|
|
The <B>PR</B> example shows the two concurrent filters necessary to display
|
|
tasks with priorities of 20 or more, since some might be negative.
|
|
Then by exploiting trailing spaces, the <B>nMin</B> series of filters could
|
|
achieve the failed `9999' objective discussed above.
|
|
<PRE>
|
|
`PR>20' + `!PR=-' ( 2 for right result )
|
|
`!nMin=0 ' + `!nMin=1 ' + `!nMin=2 ' + `!nMin=3 ' ...
|
|
</PRE>
|
|
|
|
</DL>
|
|
|
|
<P>
|
|
<B>Note</B>: Whenever Other Filtering is active in a window, top will turn
|
|
column highlighting <I>Off</I> to prevent false matches on internal non-display
|
|
escape sequences.
|
|
Such highlighting will be restored when a window is no longer subject
|
|
to filtering.
|
|
See the `x' interactive command for additional information on sort column highlighting.
|
|
|
|
<P>
|
|
|
|
<A NAME="lbBB"> </A>
|
|
<H2>6. FILES</H2>
|
|
|
|
|
|
<A NAME="lbBC"> </A>
|
|
<H3>6a. PERSONAL Configuration File</H3>
|
|
|
|
|
|
This file is created or updated via the 'W' interactive command.
|
|
<P>
|
|
The legacy version is written as `$HOME/.your-name-4-top' + `rc'
|
|
with a leading period.
|
|
<P>
|
|
A newly created configuration file is written as procps/your-name-4-top' + `rc'
|
|
without a leading period.
|
|
The procps directory will be subordinate to either $XDG_CONFIG_HOME when
|
|
set as an absolute path or the $HOME/.config directory.
|
|
<P>
|
|
While not intended to be edited manually, here is the general layout:
|
|
<PRE>
|
|
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,graph modes
|
|
" # line c: summclr,msgsclr,headclr,taskclr
|
|
global # line 15: additional miscellaneous settings
|
|
" # any remaining lines are devoted to optional
|
|
" # active 'other filters' discussed in section 5e above
|
|
" # plus 'inspect' entries discussed in section 6b below
|
|
</PRE>
|
|
|
|
<P>
|
|
If a valid absolute path to the rcfile cannot be established, customizations
|
|
made to a running top will be impossible to preserve.
|
|
<P>
|
|
|
|
<A NAME="lbBD"> </A>
|
|
<H3>6b. ADDING INSPECT Entries</H3>
|
|
|
|
|
|
To exploit the `Y' interactive command, you must add entries at the<B> end</B> of the
|
|
top personal configuration file.
|
|
Such entries simply reflect a file to be read or command/pipeline to be
|
|
executed whose results will then be displayed in a separate scrollable,
|
|
searchable window.
|
|
<P>
|
|
If you don't know the location or name of your top rcfile, use the `W'
|
|
interactive command to rewrite it and note those details.
|
|
<P>
|
|
Inspect entries can be added with a redirected echo or by editing the configuration file.
|
|
Redirecting an echo risks overwriting the rcfile should it replace (>)
|
|
rather than append (>>) to that file.
|
|
Conversely, when using an editor care must be taken not to corrupt existing
|
|
lines, some of which will contain unprintable data or unusual characters.
|
|
<P>
|
|
Those Inspect entries beginning with a `#' character are ignored, regardless
|
|
of content.
|
|
Otherwise they consist of the following 3 elements, each of which<I> must</I>
|
|
be separated by a tab character (thus 2 `\t' total):
|
|
<P>
|
|
<PRE>
|
|
.type: literal `file' or `pipe'
|
|
.name: selection shown on the Inspect screen
|
|
.fmts: string representing a path or command
|
|
</PRE>
|
|
|
|
<P>
|
|
The two types of Inspect entries are<I> not</I> interchangeable.
|
|
Those designated `<B>file</B>' will be accessed using fopen and
|
|
must reference a single file in the `.fmts' element.
|
|
Entries specifying `<B>pipe</B>' will employ popen, their `.fmts' element
|
|
could contain many pipelined commands and, none can be interactive.
|
|
<P>
|
|
If the file or pipeline represented in your `.fmts' deals with the specific PID
|
|
input or accepted when prompted, then the format string must also contain
|
|
the `<B>%d</B>' specifier, as these examples illustrate.
|
|
<P>
|
|
<PRE>
|
|
.fmts= /proc/<I>%d</I>/numa_maps
|
|
.fmts= lsof -P -p<I> %d</I>
|
|
</PRE>
|
|
|
|
<P>
|
|
For `<B>pipe</B>' type entries only, you may also wish to redirect stderr to
|
|
stdout for a more comprehensive result.
|
|
Thus the format string becomes:
|
|
<P>
|
|
<PRE>
|
|
.fmts= pmap -x %d<I> 2>&1</I>
|
|
</PRE>
|
|
|
|
<P>
|
|
Here are examples of both types of Inspect entries as they might appear
|
|
in the rcfile.
|
|
The first entry will be ignored due to the initial `#' character.
|
|
For clarity, the pseudo tab depictions (^I) are surrounded by an
|
|
extra space but the actual tabs would not be.
|
|
<PRE>
|
|
|
|
# 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
|
|
</PRE>
|
|
|
|
<P>
|
|
Except for the commented entry above, these next examples show what could
|
|
be echoed to achieve similar results, assuming the rcfile name was `.toprc'.
|
|
However, due to the embedded tab characters, each of these lines should be
|
|
preceded by `<B>/bin/echo -e</B>', not just a simple an `echo', to
|
|
enable backslash interpretation regardless of which shell you use.
|
|
<P>
|
|
<PRE>
|
|
"pipe\tOpen Files\tlsof -P -p %d 2>&1" >> ~/.toprc
|
|
"file\tNUMA Info\t/proc/%d/numa_maps" >> ~/.toprc
|
|
"pipe\tLog\ttail -n200 /var/log/syslog | sort -Mr" >> ~/.toprc
|
|
</PRE>
|
|
|
|
<P>
|
|
If any inspect entry you create produces output with unprintable characters
|
|
they will be displayed in either the ^C notation or hexadecimal <FF> form,
|
|
depending on their value.
|
|
This applies to tab characters as well, which will show as `^I'.
|
|
If you want a truer representation, any embedded tabs should be expanded.
|
|
The following example takes what could have been a `file' entry but employs
|
|
a `pipe' instead so as to expand the embedded tabs.
|
|
<P>
|
|
<PRE>
|
|
# 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 -
|
|
</PRE>
|
|
|
|
<P>
|
|
<B>Note</B>: Some programs might rely on <I>SIGINT</I> to end.
|
|
Therefore, if a `<B>pipe</B>' such as the following is established, one must
|
|
use Ctrl-C to terminate it in order to review the results.
|
|
This is the single occasion where a `^C' will not also terminate top.
|
|
<P>
|
|
<PRE>
|
|
pipe ^I Trace ^I /usr/bin/strace -p %d 2>&1
|
|
</PRE>
|
|
|
|
<P>
|
|
Lastly, while `<B>pipe</B>' type entries have been discussed in terms of pipelines
|
|
and commands, there is nothing to prevent you from including <I> shell scripts</I>
|
|
as well.
|
|
Perhaps even newly created scripts designed specifically for the `Y' interactive command.
|
|
<P>
|
|
For example, as the number of your Inspect entries grows over time, the `Options:'
|
|
row will be truncated when screen width is 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.
|
|
<P>
|
|
<PRE>
|
|
Inspection Pause at pid ...
|
|
Use: left/right then <Enter> ...
|
|
Options: help 1 2 3 4 5 6 7 8 9 10 11 ...
|
|
</PRE>
|
|
|
|
<P>
|
|
The entries in the top rcfile would have a number for the `.name' element and
|
|
the `help' entry would identify a shell script you've written explaining what
|
|
those numbered selections actually mean.
|
|
In that way, many more choices can be made visible.
|
|
<P>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbBE"> </A>
|
|
<H3>6c. SYSTEM Configuration File</H3>
|
|
|
|
|
|
This configuration file represents defaults for users who have not saved their own configuration file.
|
|
The format mirrors exactly the personal configuration file and can also include `inspect'
|
|
entries as explained above.
|
|
<P>
|
|
Creating it is a simple process.
|
|
<P>
|
|
1. Configure top appropriately for your installation and preserve that
|
|
configuration with the `W' interactive command.
|
|
<P>
|
|
2. Add and test any desired `inspect' entries.
|
|
<P>
|
|
3. Copy that configuration file to the <I>/etc/</I> directory as `<B>topdefaultrc</B>'.
|
|
<P>
|
|
|
|
<A NAME="lbBF"> </A>
|
|
<H3>6d. SYSTEM Restrictions File</H3>
|
|
|
|
|
|
The presence of this file will influence which version of the help screen
|
|
is shown to an ordinary user.
|
|
<P>
|
|
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.
|
|
<PRE>
|
|
k Kill a task
|
|
r Renice a task
|
|
d or s Change delay/sleep interval
|
|
</PRE>
|
|
|
|
<P>
|
|
This configuration file is not created by top.
|
|
Rather, it is created manually and placed it in the <I>/etc/</I>
|
|
directory as `<B>toprc</B>'.
|
|
<P>
|
|
It should have exactly two lines, as shown in this example:
|
|
<PRE>
|
|
s # line 1: secure mode switch
|
|
5.0 # line 2: delay interval in seconds
|
|
</PRE>
|
|
|
|
<P>
|
|
|
|
|
|
<A NAME="lbBG"> </A>
|
|
<H2>7. STUPID TRICKS Sampler</H2>
|
|
|
|
|
|
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.
|
|
<P>
|
|
|
|
<A NAME="lbBH"> </A>
|
|
<H3>7a. Kernel Magic</H3>
|
|
|
|
|
|
|
|
For these stupid tricks, top needs full-screen mode.
|
|
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="171">•<DD>
|
|
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.
|
|
<P>
|
|
For this experiment, under x-windows open an xterm and maximize it.
|
|
Then do the following:
|
|
<PRE>
|
|
. provide a scheduling boost and tiny delay via:
|
|
nice -n -10 top -d.09
|
|
. keep sorted column highlighting <I>Off</I> so as to
|
|
minimize path length
|
|
. turn <I>On</I> 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
|
|
</PRE>
|
|
|
|
<P>
|
|
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.
|
|
<P>
|
|
<DT id="172">•<DD>
|
|
Under an xterm using `white-on-black' colors, on top's Color Mapping screen
|
|
set the task color to black and be sure that task highlighting is set to bold,
|
|
not reverse.
|
|
Then set the delay interval to around .3 seconds.
|
|
<P>
|
|
After bringing the most active processes into view, what you'll see are
|
|
the ghostly images of just the currently running tasks.
|
|
<P>
|
|
<DT id="173">•<DD>
|
|
Delete the existing rcfile, or create a new symlink.
|
|
Start this new version then type `T' (a secret key,
|
|
see topic 4c. Task Area Commands, SORTING) followed by `W' and `q'.
|
|
Finally, restart the program with -d0 (zero delay).
|
|
<P>
|
|
Your display will be refreshed at three times the rate of the former 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.
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbBI"> </A>
|
|
<H3>7b. Bouncing Windows</H3>
|
|
|
|
|
|
For these stupid tricks, top needs alternate-display mode.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="174">•<DD>
|
|
With 3 or 4 task displays visible, pick any window other than the last
|
|
and turn idle processes <I>Off</I> using the `i' command toggle.
|
|
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.
|
|
<P>
|
|
<DT id="175">•<DD>
|
|
Set each window's summary lines differently: one with no memory (`m'); another
|
|
with no states (`t'); 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.
|
|
<P>
|
|
<DT id="176">•<DD>
|
|
Display all 4 windows and for each, in turn, set idle processes to <I>Off</I> using
|
|
the `i' command toggle.
|
|
You've just entered the "extreme bounce" zone.
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbBJ"> </A>
|
|
<H3>7c. The Big Bird Window</H3>
|
|
|
|
|
|
This stupid trick also requires alternate-display mode.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="177">•<DD>
|
|
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".
|
|
<P>
|
|
When they've all been displaced, toggle between all visible/invisible windows
|
|
using the `_' command toggle.
|
|
Then ponder this:
|
|
<BR>
|
|
|
|
<BR> is top fibbing or telling honestly your imposed truth?
|
|
<P>
|
|
|
|
</DL>
|
|
<A NAME="lbBK"> </A>
|
|
<H3>7d. The Ol' Switcheroo</H3>
|
|
|
|
|
|
This stupid trick works best without alternate-display mode, since justification is active
|
|
on a per window basis.
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="178">•<DD>
|
|
Start top and make COMMAND the last (rightmost) column displayed.
|
|
If necessary, use the `c' command toggle to display command lines and ensure
|
|
that forest view mode is active with the `V' command toggle.
|
|
<P>
|
|
Then use the up/down arrow keys to position the display so that some
|
|
truncated command lines are shown (`+' in last position).
|
|
You may have to resize your xterm to produce truncation.
|
|
<P>
|
|
Lastly, use the `j' command toggle to make the COMMAND column right justified.
|
|
<P>
|
|
Now use the right arrow key to reach the COMMAND column.
|
|
Continuing with the right arrow key, watch closely the direction
|
|
of travel for the command lines being shown.
|
|
<P>
|
|
<BR>
|
|
|
|
<BR> some lines travel left, while others travel right
|
|
<P>
|
|
<BR> eventually all lines will Switcheroo, and move right
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
|
|
<A NAME="lbBL"> </A>
|
|
<H2>8. BUGS</H2>
|
|
|
|
|
|
Please send bug reports to
|
|
|
|
|
|
<P>
|
|
<BR> <A NAME="lbBM"> </A>
|
|
<H2>9. SEE Also</H2>
|
|
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+free">free</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+ps">ps</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+uptime">uptime</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+atop">atop</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+slabtop">slabtop</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+vmstat">vmstat</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+w">w</A></B>(1)
|
|
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="179"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="180"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="181"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="182"><A HREF="#lbAE">OVERVIEW</A><DD>
|
|
<DL>
|
|
<DT id="183"><A HREF="#lbAF">Documentation</A><DD>
|
|
<DT id="184"><A HREF="#lbAG">Operation</A><DD>
|
|
<DT id="185"><A HREF="#lbAH">Linux Memory Types</A><DD>
|
|
</DL>
|
|
<DT id="186"><A HREF="#lbAI">1. COMMAND-LINE Options</A><DD>
|
|
<DT id="187"><A HREF="#lbAJ">2. SUMMARY Display</A><DD>
|
|
<DL>
|
|
<DT id="188"><A HREF="#lbAK">2a. UPTIME and LOAD Averages</A><DD>
|
|
<DT id="189"><A HREF="#lbAL">2b. TASK and CPU States</A><DD>
|
|
<DT id="190"><A HREF="#lbAM">2c. MEMORY Usage</A><DD>
|
|
</DL>
|
|
<DT id="191"><A HREF="#lbAN">3. FIELDS / Columns</A><DD>
|
|
<DL>
|
|
<DT id="192"><A HREF="#lbAO">3a. DESCRIPTIONS of Fields</A><DD>
|
|
<DT id="193"><A HREF="#lbAP">3b. MANAGING Fields</A><DD>
|
|
</DL>
|
|
<DT id="194"><A HREF="#lbAQ">4. INTERACTIVE Commands</A><DD>
|
|
<DL>
|
|
<DT id="195"><A HREF="#lbAR">4a. GLOBAL Commands</A><DD>
|
|
<DT id="196"><A HREF="#lbAS">4b. SUMMARY AREA Commands</A><DD>
|
|
<DT id="197"><A HREF="#lbAT">4c. TASK AREA Commands</A><DD>
|
|
<DT id="198"><A HREF="#lbAU">4d. COLOR Mapping</A><DD>
|
|
</DL>
|
|
<DT id="199"><A HREF="#lbAV">5. ALTERNATE-DISPLAY Provisions</A><DD>
|
|
<DL>
|
|
<DT id="200"><A HREF="#lbAW">5a. WINDOWS Overview</A><DD>
|
|
<DT id="201"><A HREF="#lbAX">5b. COMMANDS for Windows</A><DD>
|
|
<DT id="202"><A HREF="#lbAY">5c. SCROLLING a Window</A><DD>
|
|
<DT id="203"><A HREF="#lbAZ">5d. SEARCHING in a Window</A><DD>
|
|
<DT id="204"><A HREF="#lbBA">5e. FILTERING in a Window</A><DD>
|
|
</DL>
|
|
<DT id="205"><A HREF="#lbBB">6. FILES</A><DD>
|
|
<DL>
|
|
<DT id="206"><A HREF="#lbBC">6a. PERSONAL Configuration File</A><DD>
|
|
<DT id="207"><A HREF="#lbBD">6b. ADDING INSPECT Entries</A><DD>
|
|
<DT id="208"><A HREF="#lbBE">6c. SYSTEM Configuration File</A><DD>
|
|
<DT id="209"><A HREF="#lbBF">6d. SYSTEM Restrictions File</A><DD>
|
|
</DL>
|
|
<DT id="210"><A HREF="#lbBG">7. STUPID TRICKS Sampler</A><DD>
|
|
<DL>
|
|
<DT id="211"><A HREF="#lbBH">7a. Kernel Magic</A><DD>
|
|
<DT id="212"><A HREF="#lbBI">7b. Bouncing Windows</A><DD>
|
|
<DT id="213"><A HREF="#lbBJ">7c. The Big Bird Window</A><DD>
|
|
<DT id="214"><A HREF="#lbBK">7d. The Ol' Switcheroo</A><DD>
|
|
</DL>
|
|
<DT id="215"><A HREF="#lbBL">8. BUGS</A><DD>
|
|
<DT id="216"><A HREF="#lbBM">9. SEE Also</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:28 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|