]> git.ipfire.org Git - thirdparty/man-pages.git/blob - man5/proc_pid_status.5
proc.5, proc_pid_status.5: Split /proc/PID/status from proc(5)
[thirdparty/man-pages.git] / man5 / proc_pid_status.5
1 .\" Copyright (C) 1994, 1995, Daniel Quinlan <quinlan@yggdrasil.com>
2 .\" Copyright (C) 2002-2008, 2017, Michael Kerrisk <mtk.manpages@gmail.com>
3 .\" Copyright (C) 2023, Alejandro Colomar <alx@kernel.org>
4 .\"
5 .\" SPDX-License-Identifier: GPL-3.0-or-later
6 .\"
7 .TH proc_pid_status 5 (date) "Linux man-pages (unreleased)"
8 .SH NAME
9 /proc/pid/status \- memory usage and status information
10 .SH DESCRIPTION
11 .TP
12 .IR /proc/ pid /status
13 Provides much of the information in
14 .IR /proc/ pid /stat
15 and
16 .IR /proc/ pid /statm
17 in a format that's easier for humans to parse.
18 Here's an example:
19 .IP
20 .in +4n
21 .EX
22 .RB "$" " cat /proc/$$/status"
23 Name: bash
24 Umask: 0022
25 State: S (sleeping)
26 Tgid: 17248
27 Ngid: 0
28 Pid: 17248
29 PPid: 17200
30 TracerPid: 0
31 Uid: 1000 1000 1000 1000
32 Gid: 100 100 100 100
33 FDSize: 256
34 Groups: 16 33 100
35 NStgid: 17248
36 NSpid: 17248
37 NSpgid: 17248
38 NSsid: 17200
39 VmPeak: 131168 kB
40 VmSize: 131168 kB
41 VmLck: 0 kB
42 VmPin: 0 kB
43 VmHWM: 13484 kB
44 VmRSS: 13484 kB
45 RssAnon: 10264 kB
46 RssFile: 3220 kB
47 RssShmem: 0 kB
48 VmData: 10332 kB
49 VmStk: 136 kB
50 VmExe: 992 kB
51 VmLib: 2104 kB
52 VmPTE: 76 kB
53 VmPMD: 12 kB
54 VmSwap: 0 kB
55 HugetlbPages: 0 kB # 4.4
56 CoreDumping: 0 # 4.15
57 Threads: 1
58 SigQ: 0/3067
59 SigPnd: 0000000000000000
60 ShdPnd: 0000000000000000
61 SigBlk: 0000000000010000
62 SigIgn: 0000000000384004
63 SigCgt: 000000004b813efb
64 CapInh: 0000000000000000
65 CapPrm: 0000000000000000
66 CapEff: 0000000000000000
67 CapBnd: ffffffffffffffff
68 CapAmb: 0000000000000000
69 NoNewPrivs: 0
70 Seccomp: 0
71 Seccomp_filters: 0
72 Speculation_Store_Bypass: vulnerable
73 Cpus_allowed: 00000001
74 Cpus_allowed_list: 0
75 Mems_allowed: 1
76 Mems_allowed_list: 0
77 voluntary_ctxt_switches: 150
78 nonvoluntary_ctxt_switches: 545
79 .EE
80 .in
81 .IP
82 The fields are as follows:
83 .RS
84 .TP
85 .I Name
86 Command run by this process.
87 Strings longer than
88 .B TASK_COMM_LEN
89 (16) characters (including the terminating null byte) are silently truncated.
90 .TP
91 .I Umask
92 Process umask, expressed in octal with a leading zero; see
93 .BR umask (2).
94 (Since Linux 4.7.)
95 .TP
96 .I State
97 Current state of the process.
98 One of
99 "R (running)",
100 "S (sleeping)",
101 "D (disk sleep)",
102 "T (stopped)",
103 "t (tracing stop)",
104 "Z (zombie)",
105 or
106 "X (dead)".
107 .TP
108 .I Tgid
109 Thread group ID (i.e., Process ID).
110 .TP
111 .I Ngid
112 NUMA group ID (0 if none; since Linux 3.13).
113 .TP
114 .I Pid
115 Thread ID (see
116 .BR gettid (2)).
117 .TP
118 .I PPid
119 PID of parent process.
120 .TP
121 .I TracerPid
122 PID of process tracing this process (0 if not being traced).
123 .TP
124 .IR Uid ", " Gid
125 Real, effective, saved set, and filesystem UIDs (GIDs).
126 .TP
127 .I FDSize
128 Number of file descriptor slots currently allocated.
129 .TP
130 .I Groups
131 Supplementary group list.
132 .TP
133 .I NStgid
134 Thread group ID (i.e., PID) in each of the PID namespaces of which
135 .I pid
136 is a member.
137 The leftmost entry shows the value with respect to the PID namespace
138 of the process that mounted this procfs (or the root namespace
139 if mounted by the kernel),
140 followed by the value in successively nested inner namespaces.
141 .\" commit e4bc33245124db69b74a6d853ac76c2976f472d5
142 (Since Linux 4.1.)
143 .TP
144 .I NSpid
145 Thread ID in each of the PID namespaces of which
146 .I pid
147 is a member.
148 The fields are ordered as for
149 .IR NStgid .
150 (Since Linux 4.1.)
151 .TP
152 .I NSpgid
153 Process group ID in each of the PID namespaces of which
154 .I pid
155 is a member.
156 The fields are ordered as for
157 .IR NStgid .
158 (Since Linux 4.1.)
159 .TP
160 .I NSsid
161 descendant namespace session ID hierarchy
162 Session ID in each of the PID namespaces of which
163 .I pid
164 is a member.
165 The fields are ordered as for
166 .IR NStgid .
167 (Since Linux 4.1.)
168 .TP
169 .I VmPeak
170 Peak virtual memory size.
171 .TP
172 .I VmSize
173 Virtual memory size.
174 .TP
175 .I VmLck
176 Locked memory size (see
177 .BR mlock (2)).
178 .TP
179 .I VmPin
180 Pinned memory size
181 .\" commit bc3e53f682d93df677dbd5006a404722b3adfe18
182 (since Linux 3.2).
183 These are pages that can't be moved because something needs to
184 directly access physical memory.
185 .TP
186 .I VmHWM
187 Peak resident set size ("high water mark").
188 This value is inaccurate; see
189 .IR /proc/ pid /statm
190 above.
191 .TP
192 .I VmRSS
193 Resident set size.
194 Note that the value here is the sum of
195 .IR RssAnon ,
196 .IR RssFile ,
197 and
198 .IR RssShmem .
199 This value is inaccurate; see
200 .IR /proc/ pid /statm
201 above.
202 .TP
203 .I RssAnon
204 Size of resident anonymous memory.
205 .\" commit bf9683d6990589390b5178dafe8fd06808869293
206 (since Linux 4.5).
207 This value is inaccurate; see
208 .IR /proc/ pid /statm
209 above.
210 .TP
211 .I RssFile
212 Size of resident file mappings.
213 .\" commit bf9683d6990589390b5178dafe8fd06808869293
214 (since Linux 4.5).
215 This value is inaccurate; see
216 .IR /proc/ pid /statm
217 above.
218 .TP
219 .I RssShmem
220 Size of resident shared memory (includes System V shared memory,
221 mappings from
222 .BR tmpfs (5),
223 and shared anonymous mappings).
224 .\" commit bf9683d6990589390b5178dafe8fd06808869293
225 (since Linux 4.5).
226 .TP
227 .IR VmData ", " VmStk ", " VmExe
228 Size of data, stack, and text segments.
229 This value is inaccurate; see
230 .IR /proc/ pid /statm
231 above.
232 .TP
233 .I VmLib
234 Shared library code size.
235 .TP
236 .I VmPTE
237 Page table entries size (since Linux 2.6.10).
238 .TP
239 .I VmPMD
240 .\" commit dc6c9a35b66b520cf67e05d8ca60ebecad3b0479
241 Size of second-level page tables (added in Linux 4.0; removed in Linux 4.15).
242 .TP
243 .I VmSwap
244 .\" commit b084d4353ff99d824d3bc5a5c2c22c70b1fba722
245 Swapped-out virtual memory size by anonymous private pages;
246 shmem swap usage is not included (since Linux 2.6.34).
247 This value is inaccurate; see
248 .IR /proc/ pid /statm
249 above.
250 .TP
251 .I HugetlbPages
252 Size of hugetlb memory portions
253 .\" commit 5d317b2b6536592a9b51fe65faed43d65ca9158e
254 (since Linux 4.4).
255 .TP
256 .I CoreDumping
257 Contains the value 1 if the process is currently dumping core,
258 and 0 if it is not
259 .\" commit c643401218be0f4ab3522e0c0a63016596d6e9ca
260 (since Linux 4.15).
261 This information can be used by a monitoring process to avoid killing
262 a process that is currently dumping core,
263 which could result in a corrupted core dump file.
264 .TP
265 .I Threads
266 Number of threads in process containing this thread.
267 .TP
268 .I SigQ
269 This field contains two slash-separated numbers that relate to
270 queued signals for the real user ID of this process.
271 The first of these is the number of currently queued
272 signals for this real user ID, and the second is the
273 resource limit on the number of queued signals for this process
274 (see the description of
275 .B RLIMIT_SIGPENDING
276 in
277 .BR getrlimit (2)).
278 .TP
279 .IR SigPnd ", " ShdPnd
280 Mask (expressed in hexadecimal)
281 of signals pending for thread and for process as a whole (see
282 .BR pthreads (7)
283 and
284 .BR signal (7)).
285 .TP
286 .IR SigBlk ", " SigIgn ", " SigCgt
287 Masks (expressed in hexadecimal)
288 indicating signals being blocked, ignored, and caught (see
289 .BR signal (7)).
290 .TP
291 .IR CapInh ", " CapPrm ", " CapEff
292 Masks (expressed in hexadecimal)
293 of capabilities enabled in inheritable, permitted, and effective sets
294 (see
295 .BR capabilities (7)).
296 .TP
297 .I CapBnd
298 Capability bounding set, expressed in hexadecimal
299 (since Linux 2.6.26, see
300 .BR capabilities (7)).
301 .TP
302 .I CapAmb
303 Ambient capability set, expressed in hexadecimal
304 (since Linux 4.3, see
305 .BR capabilities (7)).
306 .TP
307 .I NoNewPrivs
308 .\" commit af884cd4a5ae62fcf5e321fecf0ec1014730353d
309 Value of the
310 .I no_new_privs
311 bit
312 (since Linux 4.10, see
313 .BR prctl (2)).
314 .TP
315 .I Seccomp
316 .\" commit 2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816
317 Seccomp mode of the process
318 (since Linux 3.8, see
319 .BR seccomp (2)).
320 0 means
321 .BR SECCOMP_MODE_DISABLED ;
322 1 means
323 .BR SECCOMP_MODE_STRICT ;
324 2 means
325 .BR SECCOMP_MODE_FILTER .
326 This field is provided only if the kernel was built with the
327 .B CONFIG_SECCOMP
328 kernel configuration option enabled.
329 .TP
330 .I Seccomp_filters
331 .\" commit c818c03b661cd769e035e41673d5543ba2ebda64
332 Number of seccomp filters attached to the process
333 (since Linux 5.9, see
334 .BR seccomp (2)).
335 .TP
336 .I Speculation_Store_Bypass
337 .\" commit fae1fa0fc6cca8beee3ab8ed71d54f9a78fa3f64
338 Speculation flaw mitigation state
339 (since Linux 4.17, see
340 .BR prctl (2)).
341 .TP
342 .I Cpus_allowed
343 Hexadecimal mask of CPUs on which this process may run
344 (since Linux 2.6.24, see
345 .BR cpuset (7)).
346 .TP
347 .I Cpus_allowed_list
348 Same as previous, but in "list format"
349 (since Linux 2.6.26, see
350 .BR cpuset (7)).
351 .TP
352 .I Mems_allowed
353 Mask of memory nodes allowed to this process
354 (since Linux 2.6.24, see
355 .BR cpuset (7)).
356 .TP
357 .I Mems_allowed_list
358 Same as previous, but in "list format"
359 (since Linux 2.6.26, see
360 .BR cpuset (7)).
361 .TP
362 .IR voluntary_ctxt_switches ", " nonvoluntary_ctxt_switches
363 Number of voluntary and involuntary context switches (since Linux 2.6.23).
364 .RE
365 .SH SEE ALSO
366 .BR proc (5)