目录
5. COMMAND -- Command Name or Command Line
6. DATA -- Data + Stack Size (KiB)
7. ENVIRON -- Environment variables
17. RES -- Resident Memory Size (KiB)
24. SUPGIDS -- Supplementary Group IDs
25. SUPGRPS -- Supplementary Group Names
27. SWAP -- Swapped Size (KiB)
30. TIME+ -- CPU Time, hundredths
31. TPGID -- Tty Process Group Id
34. USED -- Memory in Use (KiB)
36. VIRT -- Virtual Memory Size (KiB)
37. WCHAN -- Sleeping in Function
39. nMaj -- Major Page Fault Count
40. nMin -- Minor Page Fault count
48. vMj -- Major Page Fault Count Delta
49. vMn -- Minor Page Fault Count Delta
3. FIELDS / Columns
3a. DESCRIPTIONS of Fields
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.
Any field is selectable as the sort field, and you control whether
they are sorted high-to-low or low-to-high. For additional infor‐
mation on sort provisions see topic 4c. TASK AREA Commands, SORT‐
ING.
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 influ‐
enced via the `e' interactive command or established for startup
through a build option.
1. %CPU -- CPU Usage
The task's share of the elapsed CPU time since the last screen
update, expressed as a percentage of total CPU time.
In a true SMP environment, if a process is multi-threaded and
top is not operating in Threads mode, amounts greater than
100% may be reported. You toggle Threads mode with the `H'
interactive command.
Also for multi-processor environments, if Irix mode is Off,
top will operate in Solaris mode where a task's cpu usage will
be divided by the total number of CPUs. You toggle
Irix/Solaris modes with the `I' interactive command.
2. %MEM -- Memory Usage (RES)
A task's currently used share of available physical memory.
3. CGROUPS -- Control Groups
The names of the control group(s) to which a process belongs,
or `-' if not applicable for that process.
Control Groups provide for allocating resources (cpu, memory,
network bandwidth, etc.) among installation-defined groups of
processes. They enable fine-grained control over allocating,
denying, prioritizing, managing and monitoring those
resources.
Many different hierarchies of cgroups can exist simultaneously
on a system and each hierarchy is attached to one or more sub‐
systems. A subsystem represents a single resource.
Note: The CGROUPS field, unlike most columns, is not fixed-
width. When displayed, it plus any other variable width col‐
umns 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 Win‐
dow for additional information on accessing any truncated
data.
4. CODE -- Code Size (KiB)
The amount of physical memory devoted to executable code, also
known as the Text Resident Set size or TRS.
5. COMMAND -- Command Name or Command Line
Display the command line used to start a task or the name of
the associated program. You toggle between command line and
name with `c', which is both a command-line option and an
interactive command.
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:
[kthreadd]
This field may also be impacted by the forest view display
mode. See the `V' interactive command for additional informa‐
tion regarding that mode.
Note: The COMMAND field, unlike most columns, is not fixed-
width. When displayed, it plus any other variable width col‐
umns 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.
6. DATA -- Data + Stack Size (KiB)
The amount of physical memory devoted to other than executable
code, also known as the Data Resident Set size or DRS.
7. ENVIRON -- Environment variables
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 accus‐
tomed to seeing with an unqualified `set'.
Note: The ENVIRON field, unlike most columns, is not fixed-
width. When displayed, it plus any other variable width col‐
umns 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.
8. Flags -- Task Flags
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
<linux/sched.h>.
9. GID -- Group Id
The effective group ID.
10. GROUP -- Group Name
The effective group name.
11. NI -- Nice Value
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.
12. P -- Last used CPU (SMP)
A number representing the last used processor. In a true SMP
environment this will likely change frequently since the ker‐
nel intentionally uses weak affinity. Also, the very act of
running top may break this weak affinity and cause more pro‐
cesses to change CPUs more often (because of the extra demand
for cpu time).
13. PGRP -- Process Group Id
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 cre‐
ated (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.
14. PID -- Process Id
The task's unique process ID, which periodically wraps, though
never restarting at zero. In kernel terms, it is a dispatch‐
able entity defined by a task_struct.
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).
15. PPID -- Parent Process Id
The process ID (pid) of a task's parent.
16. PR -- Priority
The scheduling priority of the task. If you see `rt' in this
field, it means the task is running under real time scheduling
priority.
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.
17. RES -- Resident Memory Size (KiB)
The non-swapped physical memory a task is using.
18. RUID -- Real User Id
The real user ID.
19. RUSER -- Real User Name
The real user name.
20. S -- Process Status
The status of the task which can be one of:
D = uninterruptible sleep
R = running
S = sleeping
T = stopped by job control signal
t = stopped by debugger during trace
Z = zombie
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.
21. SHR -- Shared Memory Size (KiB)
The amount of shared memory available to a task, not all of
which is typically resident. It simply reflects memory that
could be potentially shared with other processes.
22. SID -- Session Id
A session is a collection of process groups (see PGRP), usu‐
ally 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.
23. SUID -- Saved User Id
The saved user ID.
24. SUPGIDS -- Supplementary Group IDs
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.
Note: The SUPGIDS field, unlike most columns, is not fixed-
width. When displayed, it plus any other variable width col‐
umns 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 Win‐
dow for additional information on accessing any truncated
data.
25. SUPGRPS -- Supplementary Group Names
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.
Note: The SUPGRPS field, unlike most columns, is not fixed-
width. When displayed, it plus any other variable width col‐
umns 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 Win‐
dow for additional information on accessing any truncated
data.
26. SUSER -- Saved User Name
The saved user name.
27. SWAP -- Swapped Size (KiB)
The non-resident portion of a task's address space.
28. TGID -- Thread Group Id
The ID of the thread group to which a task belongs. It is the
PID of the thread group leader. In kernel terms, it repre‐
sents those tasks that share an mm_struct.
29. TIME -- CPU Time
Total CPU time the task has used since it started. When Cumu‐
lative mode is On, each process is listed with the cpu time
that it and its dead children have used. You toggle Cumula‐
tive 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.
30. TIME+ -- CPU Time, hundredths
The same as TIME, but reflecting more granularity through hun‐
dredths of a second.
31. TPGID -- Tty Process Group Id
The process group ID of the foreground process for the con‐
nected 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).
32. TTY -- Controlling Tty
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.
33. UID -- User Id
The effective user ID of the task's owner.
34. USED -- Memory in Use (KiB)
This field represents the non-swapped physical memory a task
has used (RES) plus the non-resident portion of its address
space (SWAP).
35. USER -- User Name
The effective user name of the task's owner.
36. VIRT -- Virtual Memory Size (KiB)
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.
37. WCHAN -- Sleeping in Function
Depending on the availability of the kernel link map (Sys‐
tem.map), this field will show the name or the address of the
kernel function in which the task is currently sleeping. Run‐
ning tasks will display a dash ('-') in this column.
By displaying this field, top's own working set could be
increased by over 700Kb, depending on the kernel version.
Should that occur, your only means of reducing that overhead
will be to stop and restart top.
38. nDRT -- Dirty Pages Count
The number of pages that have been modified since they were
last written to auxiliary storage. Dirty pages must be writ‐
ten to auxiliary storage before the corresponding physical
memory location can be used for some other virtual page.
39. nMaj -- Major Page Fault Count
The number of major page faults that have occurred for a task.
A page fault occurs when a process attempts to read 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.
40. nMin -- Minor Page Fault count
The number of minor 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.
41. nTH -- Number of Threads
The number of threads associated with a process.
42. nsIPC -- IPC namespace
The Inode of the namespace used to isolate interprocess commu‐
nication (IPC) resources such as System V IPC objects and
POSIX message queues.
43. nsMNT -- MNT namespace
The Inode of the namespace used to isolate filesystem mount
points thus offering different views of the filesystem hierar‐
chy.
44. nsNET -- NET namespace
The Inode of the namespace used to isolate resources such as
network devices, IP addresses, IP routing, port numbers, etc.
45. nsPID -- PID namespace
The Inode of the namespace used to isolate process ID numbers
meaning they need not remain unique. Thus, each such names‐
pace could have its own `init' (PID #1) to manage various ini‐
tialization tasks and reap orphaned child processes.
46. nsUSER -- USER namespace
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.
47. nsUTS -- UTS namespace
The Inode of the namespace used to isolate hostname and NIS
domain name. UTS simply means "UNIX Time-sharing System".
48. vMj -- Major Page Fault Count Delta
The number of major page faults that have occurred since the
last update (see nMaj).
49. vMn -- Minor Page Fault Count Delta
The number of minor page faults that have occurred since the
last update (see nMin).