top: document all of top's new smaps_rollup provisions

[ of course, we had to renumber most existing fields ]
[ with these additions. plus, some typos were fixed. ]

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner 2021-04-27 00:00:00 -05:00 committed by Craig Small
parent b05770d94a
commit 788cbe051b

125
top/top.1
View File

@ -62,7 +62,7 @@
. .
.\" Document ///////////////////////////////////////////////////////////// .\" Document /////////////////////////////////////////////////////////////
.\" ---------------------------------------------------------------------- .\" ----------------------------------------------------------------------
.TH TOP 1 "February 2021" "procps-ng" "User Commands" .TH TOP 1 "April 2021" "procps-ng" "User Commands"
.\" ---------------------------------------------------------------------- .\" ----------------------------------------------------------------------
.nh .nh
@ -714,7 +714,7 @@ This is especially true for this field.
any truncated data. any truncated data.
.TP 4 .TP 4
9.\fB EXE \*(Em Executable Path \fR 9.\fB EXE \*(Em Executable Path \fR
Where available, this is the full path to the executable, Where available, this is the full path to the executable,
including the program name. including the program name.
@ -723,7 +723,7 @@ When displayed, it plus any other variable width columns will be allocated
all remaining screen width (up to the maximum \*(WX characters). all remaining screen width (up to the maximum \*(WX characters).
.TP 4 .TP 4
10.\fB Flags \*(Em Task Flags \fR 10.\fB Flags \*(Em Task Flags \fR
This column represents the task's current scheduling flags which are This column represents the task's current scheduling flags which are
expressed in hexadecimal notation and with zeros suppressed. expressed in hexadecimal notation and with zeros suppressed.
These flags are officially documented in <linux/sched.h>. These flags are officially documented in <linux/sched.h>.
@ -818,10 +818,39 @@ the operating itself was not preemptible.
And while the 2.6 kernel can be made mostly preemptible, it is not always so. And while the 2.6 kernel can be made mostly preemptible, it is not always so.
.TP 4 .TP 4
24.\fB RES \*(Em Resident Memory Size (KiB) \fR 24.\fB PSS \*(Em Proportional Resident Memory, smaps (KiB) \fR
The proportion of this task's share of `RSS' where each page is divided by
the number of processes sharing it.
It is also the sum of the `PSan', `PSfd' and `PSsh' fields.
For example, if a process has 1000 resident pages alone and 1000 resident
pages shared with another process, its `PSS' would be 1500 (times page size).
Accessing smaps values is 10x more costly than
other memory statistics and data for other users
requires root privileges.
.PP
25.\fB PSan \*(Em Proportional Anonymous Memory, smaps (KiB) \fR
.br
26.\fB PSfd \*(Em Proportional File Memory, smaps (KiB) \fR
.br
27.\fB PSsh \*(Em Proportional Shmem Memory, smaps (KiB) \fR
.RS 4
As was true for `PSS' above (total proportional resident memory),
these fields represent the proportion of this task's share of each type
of memory divided by the number of processes sharing it.
Accessing smaps values is 10x more costly than
other memory statistics and data for other users
requires root privileges.
.RE
.TP 4
28.\fB RES \*(Em Resident Memory Size (KiB) \fR
A subset of the virtual address space (VIRT) representing the non-swapped A subset of the virtual address space (VIRT) representing the non-swapped
\*(MP a task is currently using. \*(MP a task is currently using.
It is also the sum of the RSan, RSfd and RSsh fields. It is also the sum of the `RSan', `RSfd' and `RSsh' fields.
It can include private anonymous pages, private pages mapped to files It can include private anonymous pages, private pages mapped to files
(including program images and shared libraries) plus shared anonymous pages. (including program images and shared libraries) plus shared anonymous pages.
@ -833,35 +862,45 @@ modified, act as a dedicated \*(MS and thus will never impact SWAP.
\*(XX. \*(XX.
.TP 4 .TP 4
25.\fB RSan \*(Em Resident Anonymous Memory Size (KiB) \fR 29.\fB RSS \*(Em Resident Memory, smaps (KiB) \fR
Another, more precise view of process non-swapped \*(MP.
It is obtained from the `smaps_rollup' file and is
generally slightly larger than that shown for `RES'.
Accessing smaps values is 10x more costly than
other memory statistics and data for other users
requires root privileges.
.TP 4
30.\fB RSan \*(Em Resident Anonymous Memory Size (KiB) \fR
A subset of resident memory (RES) representing private pages not A subset of resident memory (RES) representing private pages not
mapped to a file. mapped to a file.
.TP 4 .TP 4
26.\fB RSfd \*(Em Resident File-Backed Memory Size (KiB) \fR 31.\fB RSfd \*(Em Resident File-Backed Memory Size (KiB) \fR
A subset of resident memory (RES) representing the implicitly shared A subset of resident memory (RES) representing the implicitly shared
pages supporting program images and shared libraries. pages supporting program images and shared libraries.
It also includes explicit file mappings, both private and shared. It also includes explicit file mappings, both private and shared.
.TP 4 .TP 4
27.\fB RSlk \*(Em Resident Locked Memory Size (KiB) \fR 32.\fB RSlk \*(Em Resident Locked Memory Size (KiB) \fR
A subset of resident memory (RES) which cannot be swapped out. A subset of resident memory (RES) which cannot be swapped out.
.TP 4 .TP 4
28.\fB RSsh \*(Em Resident Shared Memory Size (KiB) \fR 33.\fB RSsh \*(Em Resident Shared Memory Size (KiB) \fR
A subset of resident memory (RES) representing the explicitly shared A subset of resident memory (RES) representing the explicitly shared
anonymous shm*/mmap pages. anonymous shm*/mmap pages.
.TP 4 .TP 4
29.\fB RUID \*(Em Real User Id \fR 34.\fB RUID \*(Em Real User Id \fR
The\fI real\fR user ID. The\fI real\fR user ID.
.TP 4 .TP 4
30.\fB RUSER \*(Em Real User Name \fR 35.\fB RUSER \*(Em Real User Name \fR
The\fI real\fR user name. The\fI real\fR user name.
.TP 4 .TP 4
31.\fB S \*(Em Process Status \fR 36.\fB S \*(Em Process Status \fR
The status of the task which can be one of: The status of the task which can be one of:
\fBD\fR = uninterruptible sleep \fBD\fR = uninterruptible sleep
\fBI\fR = idle \fBI\fR = idle
@ -877,7 +916,7 @@ Even without a true SMP machine, you may see numerous tasks in this state
depending on \*(We's delay interval and nice value. depending on \*(We's delay interval and nice value.
.TP 4 .TP 4
32.\fB SHR \*(Em Shared Memory Size (KiB) \fR 37.\fB SHR \*(Em Shared Memory Size (KiB) \fR
A subset of resident memory (RES) that may be used by other processes. 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 will include shared anonymous pages and shared file-backed pages.
It also includes private pages mapped to files representing It also includes private pages mapped to files representing
@ -886,7 +925,7 @@ program images and shared libraries.
\*(XX. \*(XX.
.TP 4 .TP 4
33.\fB SID \*(Em Session Id \fR 38.\fB SID \*(Em Session Id \fR
A session is a collection of process groups (\*(Xa PGRP), A session is a collection of process groups (\*(Xa PGRP),
usually established by the login shell. usually established by the login shell.
A newly forked process joins the session of its creator. A newly forked process joins the session of its creator.
@ -895,11 +934,11 @@ member of the session, called the session leader, which is usually the
login shell. login shell.
.TP 4 .TP 4
34.\fB SUID \*(Em Saved User Id \fR 39.\fB SUID \*(Em Saved User Id \fR
The\fI saved\fR user ID. The\fI saved\fR user ID.
.TP 4 .TP 4
35.\fB SUPGIDS \*(Em Supplementary Group IDs \fR 40.\fB SUPGIDS \*(Em Supplementary Group IDs \fR
The IDs of any supplementary group(s) established at login or The IDs of any supplementary group(s) established at login or
inherited from a task's parent. inherited from a task's parent.
They are displayed in a comma delimited list. They are displayed in a comma delimited list.
@ -909,7 +948,7 @@ When displayed, it plus any other variable width columns will be allocated
all remaining screen width (up to the maximum \*(WX characters). all remaining screen width (up to the maximum \*(WX characters).
.TP 4 .TP 4
36.\fB SUPGRPS \*(Em Supplementary Group Names \fR 41.\fB SUPGRPS \*(Em Supplementary Group Names \fR
The names of any supplementary group(s) established at login or The names of any supplementary group(s) established at login or
inherited from a task's parent. inherited from a task's parent.
They are displayed in a comma delimited list. They are displayed in a comma delimited list.
@ -919,24 +958,24 @@ When displayed, it plus any other variable width columns will be allocated
all remaining screen width (up to the maximum \*(WX characters). all remaining screen width (up to the maximum \*(WX characters).
.TP 4 .TP 4
37.\fB SUSER \*(Em Saved User Name \fR 42.\fB SUSER \*(Em Saved User Name \fR
The\fI saved\fR user name. The\fI saved\fR user name.
.TP 4 .TP 4
38.\fB SWAP \*(Em Swapped Size (KiB) \fR 43.\fB SWAP \*(Em Swapped Size (KiB) \fR
The formerly resident portion of a task's address space written The formerly resident portion of a task's address space written
to the \*(MS when \*(MP becomes over committed. to the \*(MS when \*(MP becomes over committed.
\*(XX. \*(XX.
.TP 4 .TP 4
39.\fB TGID \*(Em Thread Group Id \fR 44.\fB TGID \*(Em Thread Group Id \fR
The ID of the thread group to which a task belongs. The ID of the thread group to which a task belongs.
It is the PID of the thread group leader. It is the PID of the thread group leader.
In kernel terms, it represents those tasks that share an mm_struct. In kernel terms, it represents those tasks that share an mm_struct.
.TP 4 .TP 4
40.\fB TIME \*(Em \*(PU Time \fR 45.\fB TIME \*(Em \*(PU Time \fR
Total \*(PU time the task has used since it started. Total \*(PU time the task has used since it started.
When Cumulative mode is \*O, each process is listed with the \*(Pu When Cumulative mode is \*O, each process is listed with the \*(Pu
time that it and its dead children have used. time that it and its dead children have used.
@ -944,19 +983,19 @@ You toggle Cumulative mode with `S', which is both a \*(CO and an \*(CI.
\*(XC `S' \*(CI for additional information regarding this mode. \*(XC `S' \*(CI for additional information regarding this mode.
.TP 4 .TP 4
41.\fB TIME+ \*(Em \*(PU Time, hundredths \fR 46.\fB TIME+ \*(Em \*(PU Time, hundredths \fR
The same as TIME, but reflecting more granularity through hundredths The same as TIME, but reflecting more granularity through hundredths
of a second. of a second.
.TP 4 .TP 4
42.\fB TPGID \*(Em Tty Process Group Id \fR 47.\fB TPGID \*(Em Tty Process Group Id \fR
The process group ID of the foreground process for the connected tty, The process group ID of the foreground process for the connected tty,
or \-1 if a process is not connected to a terminal. or \-1 if a process is not connected to a terminal.
By convention, this value equals the process ID (\*(Xa PID) of the By convention, this value equals the process ID (\*(Xa PID) of the
process group leader (\*(Xa PGRP). process group leader (\*(Xa PGRP).
.TP 4 .TP 4
43.\fB TTY \*(Em Controlling Tty \fR 48.\fB TTY \*(Em Controlling Tty \fR
The name of the controlling terminal. The name of the controlling terminal.
This is usually the device (serial port, pty, etc.) from which the This is usually the device (serial port, pty, etc.) from which the
process was started, and which it uses for input or output. process was started, and which it uses for input or output.
@ -964,22 +1003,22 @@ However, a task need not be associated with a terminal, in which case
you'll see `?' displayed. you'll see `?' displayed.
.TP 4 .TP 4
44.\fB UID \*(Em User Id \fR 49.\fB UID \*(Em User Id \fR
The\fI effective\fR user ID of the task's owner. The\fI effective\fR user ID of the task's owner.
.TP 4 .TP 4
45.\fB USED \*(Em Memory in Use (KiB) \fR 50.\fB USED \*(Em Memory in Use (KiB) \fR
This field represents the non-swapped \*(MP a task is using (RES) plus This field represents the non-swapped \*(MP a task is using (RES) plus
the swapped out portion of its address space (SWAP). the swapped out portion of its address space (SWAP).
\*(XX. \*(XX.
.TP 4 .TP 4
46.\fB USER \*(Em User Name \fR 51.\fB USER \*(Em User Name \fR
The\fI effective\fR user name of the task's owner. The\fI effective\fR user name of the task's owner.
.TP 4 .TP 4
47.\fB VIRT \*(Em Virtual Memory Size (KiB) \fR 52.\fB VIRT \*(Em Virtual Memory Size (KiB) \fR
The total amount of \*(MV used by the task. The total amount of \*(MV used by the task.
It includes all code, data and shared libraries plus pages that have been It includes all code, data and shared libraries plus pages that have been
swapped out and pages that have been mapped but not used. swapped out and pages that have been mapped but not used.
@ -987,13 +1026,13 @@ swapped out and pages that have been mapped but not used.
\*(XX. \*(XX.
.TP 4 .TP 4
48.\fB WCHAN \*(Em Sleeping in Function \fR 53.\fB WCHAN \*(Em Sleeping in Function \fR
This field will show the name of the kernel function in which the task This field will show the name of the kernel function in which the task
is currently sleeping. is currently sleeping.
Running tasks will display a dash (`\-') in this column. Running tasks will display a dash (`\-') in this column.
.TP 4 .TP 4
49.\fB nDRT \*(Em Dirty Pages Count \fR 54.\fB nDRT \*(Em Dirty Pages Count \fR
The number of pages that have been modified since they were last The number of pages that have been modified since they were last
written to \*(AS. written to \*(AS.
Dirty pages must be written to \*(AS before the corresponding physical Dirty pages must be written to \*(AS before the corresponding physical
@ -1002,7 +1041,7 @@ memory location can be used for some other virtual page.
This field was deprecated with linux 2.6 and is always zero. This field was deprecated with linux 2.6 and is always zero.
.TP 4 .TP 4
50.\fB nMaj \*(Em Major Page Fault Count \fR 55.\fB nMaj \*(Em Major Page Fault Count \fR
The number of\fB major\fR page faults that have occurred for a task. The number of\fB major\fR page faults that have occurred for a task.
A page fault occurs when a process attempts to read from or write to a 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. virtual page that is not currently present in its address space.
@ -1010,7 +1049,7 @@ A major page fault is when \*(AS access is involved in making that
page available. page available.
.TP 4 .TP 4
51.\fB nMin \*(Em Minor Page Fault count \fR 56.\fB nMin \*(Em Minor Page Fault count \fR
The number of\fB minor\fR page faults that have occurred for a task. The number of\fB minor\fR page faults that have occurred for a task.
A page fault occurs when a process attempts to read from or write to a 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. virtual page that is not currently present in its address space.
@ -1018,50 +1057,50 @@ A minor page fault does not involve \*(AS access in making that
page available. page available.
.TP 4 .TP 4
52.\fB nTH \*(Em Number of Threads \fR 57.\fB nTH \*(Em Number of Threads \fR
The number of threads associated with a process. The number of threads associated with a process.
.TP 4 .TP 4
53.\fB nsIPC \*(Em IPC namespace \fR 58.\fB nsIPC \*(Em IPC namespace \fR
The Inode of the namespace used to isolate interprocess communication (IPC) The Inode of the namespace used to isolate interprocess communication (IPC)
resources such as System V IPC objects and POSIX message queues. resources such as System V IPC objects and POSIX message queues.
.TP 4 .TP 4
54.\fB nsMNT \*(Em MNT namespace \fR 59.\fB nsMNT \*(Em MNT namespace \fR
The Inode of the namespace used to isolate filesystem mount points thus The Inode of the namespace used to isolate filesystem mount points thus
offering different views of the filesystem hierarchy. offering different views of the filesystem hierarchy.
.TP 4 .TP 4
55.\fB nsNET \*(Em NET namespace \fR 60.\fB nsNET \*(Em NET namespace \fR
The Inode of the namespace used to isolate resources such as network devices, The Inode of the namespace used to isolate resources such as network devices,
IP addresses, IP routing, port numbers, etc. IP addresses, IP routing, port numbers, etc.
.TP 4 .TP 4
56.\fB nsPID \*(Em PID namespace \fR 61.\fB nsPID \*(Em PID namespace \fR
The Inode of the namespace used to isolate process ID numbers The Inode of the namespace used to isolate process ID numbers
meaning they need not remain unique. meaning they need not remain unique.
Thus, each such namespace could have its own `init/systemd' (PID #1) to Thus, each such namespace could have its own `init/systemd' (PID #1) to
manage various initialization tasks and reap orphaned child processes. manage various initialization tasks and reap orphaned child processes.
.TP 4 .TP 4
57.\fB nsUSER \*(Em USER namespace \fR 62.\fB nsUSER \*(Em USER namespace \fR
The Inode of the namespace used to isolate the user and group ID numbers. 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 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 namespace while having a user ID of 0, with full root privileges, inside
that namespace. that namespace.
.TP 4 .TP 4
58.\fB nsUTS \*(Em UTS namespace \fR 63.\fB nsUTS \*(Em UTS namespace \fR
The Inode of the namespace used to isolate hostname and NIS domain name. The Inode of the namespace used to isolate hostname and NIS domain name.
UTS simply means "UNIX Time-sharing System". UTS simply means "UNIX Time-sharing System".
.TP 4 .TP 4
59.\fB vMj \*(Em Major Page Fault Count Delta\fR 64.\fB vMj \*(Em Major Page Fault Count Delta\fR
The number of\fB major\fR page faults that have occurred since the The number of\fB major\fR page faults that have occurred since the
last update (see nMaj). last update (see nMaj).
.TP 4 .TP 4
60.\fB vMn \*(Em Minor Page Fault Count Delta\fR 65.\fB vMn \*(Em Minor Page Fault Count Delta\fR
The number of\fB minor\fR page faults that have occurred since the The number of\fB minor\fR page faults that have occurred since the
last update (see nMin). last update (see nMin).
@ -1481,7 +1520,7 @@ of 165 columns would be required.
\ \ \ \fB!\fR\ \ :\fICombine-Cpus-Mode \fR \ \ \ \fB!\fR\ \ :\fICombine-Cpus-Mode \fR
This \*(CT is intended for massively parallel SMP environments where, This \*(CT is intended for massively parallel SMP environments where,
even with the `4' \*(CT, not all processors can be displayed. even with the `4' \*(CT, not all processors can be displayed.
With each press of `!' the number of additional \*(Pu's combined is With each press of `!' the number of additional \*(Pus combined is
doubled thus reducing the total number of \*(Pu lines displayed. doubled thus reducing the total number of \*(Pu lines displayed.
For example, with the first press of `!' one additional \*(Pu will be For example, with the first press of `!' one additional \*(Pu will be
@ -2032,7 +2071,7 @@ Such highlighting will be restored when a window's search string is empty.
.\" ---------------------------------------------------------------------- .\" ----------------------------------------------------------------------
You can use this `Other Filter' feature to establish selection criteria which You can use this `Other Filter' feature to establish selection criteria which
will then determine which tasks are shown in the \*(CW. will then determine which tasks are shown in the \*(CW.
Such filters can be made presistent if preserved in the rcfile via Such filters can be made persistent if preserved in the rcfile via
the 'W' \*(CI. the 'W' \*(CI.
Establishing a filter requires: 1) a field name; 2) an operator; and Establishing a filter requires: 1) a field name; 2) an operator; and