.\" Copyright (C) 1994, 1995, Daniel Quinlan .\" Copyright (C) 2002-2008, 2017, Michael Kerrisk .\" Copyright (C) 2023, Alejandro Colomar .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .TH proc_pid_status 5 2023-10-23 "Linux man-pages 6.06" .SH NAME /proc/pid/status \- memory usage and status information .SH DESCRIPTION .TP .IR /proc/ pid /status Provides much of the information in .IR /proc/ pid /stat and .IR /proc/ pid /statm in a format that's easier for humans to parse. Here's an example: .IP .in +4n .EX .RB "$" " 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 .EE .in .IP The fields are as follows: .RS .TP .I Name Command run by this process. Strings longer than .B TASK_COMM_LEN (16) characters (including the terminating null byte) are silently truncated. .TP .I Umask Process umask, expressed in octal with a leading zero; see .BR umask (2). (Since Linux 4.7.) .TP .I 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)". .TP .I Tgid Thread group ID (i.e., Process ID). .TP .I Ngid NUMA group ID (0 if none; since Linux 3.13). .TP .I Pid Thread ID (see .BR gettid (2)). .TP .I PPid PID of parent process. .TP .I TracerPid PID of process tracing this process (0 if not being traced). .TP .I Uid .TQ .I Gid Real, effective, saved set, and filesystem UIDs (GIDs). .TP .I FDSize Number of file descriptor slots currently allocated. .TP .I Groups Supplementary group list. .TP .I NStgid Thread group ID (i.e., PID) in each of the PID namespaces of which .I 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. .\" commit e4bc33245124db69b74a6d853ac76c2976f472d5 (Since Linux 4.1.) .TP .I NSpid Thread ID in each of the PID namespaces of which .I pid is a member. The fields are ordered as for .IR NStgid . (Since Linux 4.1.) .TP .I NSpgid Process group ID in each of the PID namespaces of which .I pid is a member. The fields are ordered as for .IR NStgid . (Since Linux 4.1.) .TP .I NSsid descendant namespace session ID hierarchy Session ID in each of the PID namespaces of which .I pid is a member. The fields are ordered as for .IR NStgid . (Since Linux 4.1.) .TP .I VmPeak Peak virtual memory size. .TP .I VmSize Virtual memory size. .TP .I VmLck Locked memory size (see .BR mlock (2)). .TP .I VmPin Pinned memory size .\" commit bc3e53f682d93df677dbd5006a404722b3adfe18 (since Linux 3.2). These are pages that can't be moved because something needs to directly access physical memory. .TP .I VmHWM Peak resident set size ("high water mark"). This value is inaccurate; see .IR /proc/ pid /statm above. .TP .I VmRSS Resident set size. Note that the value here is the sum of .IR RssAnon , .IR RssFile , and .IR RssShmem . This value is inaccurate; see .IR /proc/ pid /statm above. .TP .I RssAnon Size of resident anonymous memory. .\" commit bf9683d6990589390b5178dafe8fd06808869293 (since Linux 4.5). This value is inaccurate; see .IR /proc/ pid /statm above. .TP .I RssFile Size of resident file mappings. .\" commit bf9683d6990589390b5178dafe8fd06808869293 (since Linux 4.5). This value is inaccurate; see .IR /proc/ pid /statm above. .TP .I RssShmem Size of resident shared memory (includes System V shared memory, mappings from .BR tmpfs (5), and shared anonymous mappings). .\" commit bf9683d6990589390b5178dafe8fd06808869293 (since Linux 4.5). .TP .I VmData .TQ .I VmStk .TQ .I VmExe Size of data, stack, and text segments. This value is inaccurate; see .IR /proc/ pid /statm above. .TP .I VmLib Shared library code size. .TP .I VmPTE Page table entries size (since Linux 2.6.10). .TP .I VmPMD .\" commit dc6c9a35b66b520cf67e05d8ca60ebecad3b0479 Size of second-level page tables (added in Linux 4.0; removed in Linux 4.15). .TP .I VmSwap .\" commit b084d4353ff99d824d3bc5a5c2c22c70b1fba722 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 .IR /proc/ pid /statm above. .TP .I HugetlbPages Size of hugetlb memory portions .\" commit 5d317b2b6536592a9b51fe65faed43d65ca9158e (since Linux 4.4). .TP .I CoreDumping Contains the value 1 if the process is currently dumping core, and 0 if it is not .\" commit c643401218be0f4ab3522e0c0a63016596d6e9ca (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. .TP .I Threads Number of threads in process containing this thread. .TP .I 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 .B RLIMIT_SIGPENDING in .BR getrlimit (2)). .TP .I SigPnd .TQ .I ShdPnd Mask (expressed in hexadecimal) of signals pending for thread and for process as a whole (see .BR pthreads (7) and .BR signal (7)). .TP .I SigBlk .TQ .I SigIgn .TQ .I SigCgt Masks (expressed in hexadecimal) indicating signals being blocked, ignored, and caught (see .BR signal (7)). .TP .I CapInh .TQ .I CapPrm .TQ .I CapEff Masks (expressed in hexadecimal) of capabilities enabled in inheritable, permitted, and effective sets (see .BR capabilities (7)). .TP .I CapBnd Capability bounding set, expressed in hexadecimal (since Linux 2.6.26, see .BR capabilities (7)). .TP .I CapAmb Ambient capability set, expressed in hexadecimal (since Linux 4.3, see .BR capabilities (7)). .TP .I NoNewPrivs .\" commit af884cd4a5ae62fcf5e321fecf0ec1014730353d Value of the .I no_new_privs bit (since Linux 4.10, see .BR prctl (2)). .TP .I Seccomp .\" commit 2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816 Seccomp mode of the process (since Linux 3.8, see .BR seccomp (2)). 0 means .BR SECCOMP_MODE_DISABLED ; 1 means .BR SECCOMP_MODE_STRICT ; 2 means .BR SECCOMP_MODE_FILTER . This field is provided only if the kernel was built with the .B CONFIG_SECCOMP kernel configuration option enabled. .TP .I Seccomp_filters .\" commit c818c03b661cd769e035e41673d5543ba2ebda64 Number of seccomp filters attached to the process (since Linux 5.9, see .BR seccomp (2)). .TP .I Speculation_Store_Bypass .\" commit fae1fa0fc6cca8beee3ab8ed71d54f9a78fa3f64 Speculation flaw mitigation state (since Linux 4.17, see .BR prctl (2)). .TP .I Cpus_allowed Hexadecimal mask of CPUs on which this process may run (since Linux 2.6.24, see .BR cpuset (7)). .TP .I Cpus_allowed_list Same as previous, but in "list format" (since Linux 2.6.26, see .BR cpuset (7)). .TP .I Mems_allowed Mask of memory nodes allowed to this process (since Linux 2.6.24, see .BR cpuset (7)). .TP .I Mems_allowed_list Same as previous, but in "list format" (since Linux 2.6.26, see .BR cpuset (7)). .TP .I voluntary_ctxt_switches .TQ .I nonvoluntary_ctxt_switches Number of voluntary and involuntary context switches (since Linux 2.6.23). .RE .SH SEE ALSO .BR proc (5)