proc_pid_status(5) — Linux manual page
proc_pid_status(5) File Formats Manual proc_pid_status(5)
NAME
/proc/pid/status - memory usage and status information
DESCRIPTION
/proc/pid/status
Provides much of the information in /proc/pid/stat and
/proc/pid/statm in a format that's easier for humans to
parse. Here's an example:
$ cat /proc/$$/status
Name: bash
Umask: 0022
State: S (sleeping)
Tgid: 17248
Ngid: 0
Pid: 17248
PPid: 17200
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 100 100 100 100
FDSize: 256
Groups: 16 33 100
NStgid: 17248
NSpid: 17248
NSpgid: 17248
NSsid: 17200
VmPeak: 131168 kB
VmSize: 131168 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 13484 kB
VmRSS: 13484 kB
RssAnon: 10264 kB
RssFile: 3220 kB
RssShmem: 0 kB
VmData: 10332 kB
VmStk: 136 kB
VmExe: 992 kB
VmLib: 2104 kB
VmPTE: 76 kB
VmPMD: 12 kB
VmSwap: 0 kB
HugetlbPages: 0 kB # 4.4
CoreDumping: 0 # 4.15
Threads: 1
SigQ: 0/3067
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
CapAmb: 0000000000000000
NoNewPrivs: 0
Seccomp: 0
Seccomp_filters: 0
Speculation_Store_Bypass: vulnerable
Cpus_allowed: 00000001
Cpus_allowed_list: 0
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 150
nonvoluntary_ctxt_switches: 545
The fields are as follows:
Name Command run by this process. Strings longer than
TASK_COMM_LEN (16) characters (including the
terminating null byte) are silently truncated.
Umask Process umask, expressed in octal with a leading
zero; see umask(2). (Since Linux 4.7.)
State Current state of the process. One of "R
(running)", "S (sleeping)", "D (disk sleep)", "T
(stopped)", "t (tracing stop)", "Z (zombie)", or "X
(dead)".
Tgid Thread group ID (i.e., Process ID).
Ngid NUMA group ID (0 if none; since Linux 3.13).
Pid Thread ID (see gettid(2)).
PPid PID of parent process.
TracerPid
PID of process tracing this process (0 if not being
traced).
Uid
Gid Real, effective, saved set, and filesystem UIDs
(GIDs).
FDSize Number of file descriptor slots currently
allocated.
Groups Supplementary group list.
NStgid Thread group ID (i.e., PID) in each of the PID
namespaces of which pid is a member. The leftmost
entry shows the value with respect to the PID
namespace of the process that mounted this procfs
(or the root namespace if mounted by the kernel),
followed by the value in successively nested inner
namespaces. (Since Linux 4.1.)
NSpid Thread ID in each of the PID namespaces of which
pid is a member. The fields are ordered as for
NStgid. (Since Linux 4.1.)
NSpgid Process group ID in each of the PID namespaces of
which pid is a member. The fields are ordered as
for NStgid. (Since Linux 4.1.)
NSsid descendant namespace session ID hierarchy Session
ID in each of the PID namespaces of which pid is a
member. The fields are ordered as for NStgid.
(Since Linux 4.1.)
VmPeak Peak virtual memory size.
VmSize Virtual memory size.
VmLck Locked memory size (see mlock(2)).
VmPin Pinned memory size (since Linux 3.2). These are
pages that can't be moved because something needs
to directly access physical memory.
VmHWM Peak resident set size ("high water mark"). This
value is inaccurate; see /proc/pid/statm above.
VmRSS Resident set size. Note that the value here is the
sum of RssAnon, RssFile, and RssShmem. This value
is inaccurate; see /proc/pid/statm above.
RssAnon
Size of resident anonymous memory. (since Linux
4.5). This value is inaccurate; see
/proc/pid/statm above.
RssFile
Size of resident file mappings. (since Linux 4.5).
This value is inaccurate; see /proc/pid/statm
above.
RssShmem
Size of resident shared memory (includes System V
shared memory, mappings from tmpfs(5), and shared
anonymous mappings). (since Linux 4.5).
VmData
VmStk
VmExe Size of data, stack, and text segments. This value
is inaccurate; see /proc/pid/statm above.
VmLib Shared library code size.
VmPTE Page table entries size (since Linux 2.6.10).
VmPMD Size of second-level page tables (added in Linux
4.0; removed in Linux 4.15).
VmSwap Swapped-out virtual memory size by anonymous
private pages; shmem swap usage is not included
(since Linux 2.6.34). This value is inaccurate;
see /proc/pid/statm above.
HugetlbPages
Size of hugetlb memory portions (since Linux 4.4).
CoreDumping
Contains the value 1 if the process is currently
dumping core, and 0 if it is not (since Linux
4.15). This information can be used by a
monitoring process to avoid killing a process that
is currently dumping core, which could result in a
corrupted core dump file.
Threads
Number of threads in process containing this
thread.
SigQ This field contains two slash-separated numbers
that relate to queued signals for the real user ID
of this process. The first of these is the number
of currently queued signals for this real user ID,
and the second is the resource limit on the number
of queued signals for this process (see the
description of RLIMIT_SIGPENDING in getrlimit(2)).
SigPnd
ShdPnd Mask (expressed in hexadecimal) of signals pending
for thread and for process as a whole (see
pthreads(7) and signal(7)).
SigBlk
SigIgn
SigCgt Masks (expressed in hexadecimal) indicating signals
being blocked, ignored, and caught (see signal(7)).
CapInh
CapPrm
CapEff Masks (expressed in hexadecimal) of capabilities
enabled in inheritable, permitted, and effective
sets (see capabilities(7)).
CapBnd Capability bounding set, expressed in hexadecimal
(since Linux 2.6.26, see capabilities(7)).
CapAmb Ambient capability set, expressed in hexadecimal
(since Linux 4.3, see capabilities(7)).
NoNewPrivs
Value of the no_new_privs bit (since Linux 4.10,
see prctl(2)).
Seccomp
Seccomp mode of the process (since Linux 3.8, see
seccomp(2)). 0 means SECCOMP_MODE_DISABLED; 1
means SECCOMP_MODE_STRICT; 2 means
SECCOMP_MODE_FILTER. This field is provided only
if the kernel was built with the CONFIG_SECCOMP
kernel configuration option enabled.
Seccomp_filters
Number of seccomp filters attached to the process
(since Linux 5.9, see seccomp(2)).
Speculation_Store_Bypass
Speculation flaw mitigation state (since Linux
4.17, see prctl(2)).
Cpus_allowed
Hexadecimal mask of CPUs on which this process may
run (since Linux 2.6.24, see cpuset(7)).
Cpus_allowed_list
Same as previous, but in "list format" (since Linux
2.6.26, see cpuset(7)).
Mems_allowed
Mask of memory nodes allowed to this process (since
Linux 2.6.24, see cpuset(7)).
Mems_allowed_list
Same as previous, but in "list format" (since Linux
2.6.26, see cpuset(7)).
voluntary_ctxt_switches
nonvoluntary_ctxt_switches
Number of voluntary and involuntary context
switches (since Linux 2.6.23).
SEE ALSO
proc(5)
COLOPHON
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.9.1.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2024-06-26. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.9.1 2024-05-02 proc_pid_status(5)
Pages that refer to this page: PR_GET_SECCOMP(2const), proc_pid_stat(5), proc_pid_statm(5)