associated with the last used processor (‘P’). When ‐1 is displayed it means that NUMA information is not available.
See the ‘2’ and ‘3’ interactive commands for additional NUMA provisions affecting the summary area.
OOMa -- Out of Memory Adjustment Factor
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.
OOMs -- Out of Memory Score
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 -- Last used CPU (SMP)
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).
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 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.
PID -- Process Id
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.
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).
PPID -- Parent Process Id
The process ID (pid) of a task’s parent.
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.
PSS -- Proportional Resident Memory, smaps (KiB)
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.
PSan -- Proportional Anonymous Memory, smaps (KiB)
PSfd -- Proportional File Memory, smaps (KiB)
PSsh -- Proportional Shmem Memory, smaps (KiB)
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.
RES -- Resident Memory Size (KiB)
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.
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.
Lastly, this field may also include