.\" to see what information could be imported from that file
.\" into this file.
.\"
-.TH PROC 5 2017-09-15 "Linux" "Linux Programmer's Manual"
+.TH PROC 5 2019-03-06 "Linux" "Linux Programmer's Manual"
.SH NAME
proc \- process information pseudo-filesystem
.SH DESCRIPTION
See
.BR sched (7).
.TP
-.IR /proc/[pid]/auxv " (since 2.6.0-test7)"
+.IR /proc/[pid]/auxv " (since 2.6.0)"
+.\" Precisely: Linux 2.6.0-test7
This contains the contents of the ELF interpreter information passed
to the process at exec time.
The format is one \fIunsigned long\fP ID
In the latter case, there is nothing in this file:
that is, a read on this file will return 0 characters.
The command-line arguments appear in this file as a set of
-strings separated by null bytes (\(aq\\0\(aq),
+strings separated by null bytes (\(aq\e0\(aq),
with a further null byte after the last string.
.TP
.IR /proc/[pid]/comm " (since Linux 2.6.33)"
This file contains the initial environment that was set
when the currently executing program was started via
.BR execve (2).
-The entries are separated by null bytes (\(aq\\0\(aq),
+The entries are separated by null bytes (\(aq\e0\(aq),
and there may be a null byte at the end.
Thus, to print out the environment of process 1, you would do:
.IP
.IR [stack]
The initial process's (also known as the main thread's) stack.
.TP
-.IR [stack:<tid>] " (since Linux 3.4)"
-.\" commit b76437579d1344b612cf1851ae610c636cec7db0
+.IR [stack:<tid>] " (from Linux 3.4 to 4.4)"
+.\" commit b76437579d1344b612cf1851ae610c636cec7db0 (added)
+.\" commit 65376df582174ffcec9e6471bf5b0dd79ba05e4a (removed)
A thread's stack (where the
.IR <tid>
is a thread ID).
It corresponds to the
.IR /proc/[pid]/task/[tid]/
path.
+This field was removed in Linux 4.5, since providing this information
+for a process with large numbers of threads is expensive.
.TP
.IR [vdso]
The virtual dynamically linked shared object.
with an octal escape sequence.
As a result, it is not possible to determine whether the original
pathname contained a newline character or the literal
-.I \\\012
+.I \ee012
character sequence.
.IP
If the mapping is file-backed and the file has been deleted, the string
to the process's root directory.
.TP
(6)
-mount options: per-mount options.
+mount options: per-mount options (see
+.BR mount (2)).
.TP
(7)
optional fields: zero or more fields of the form "tag[:value]"; see below.
mount source: filesystem-specific information or "none".
.TP
(11)
-super options: per-superblock options.
+super options: per-superblock options (see
+.BR mount (2)).
.RE
.IP
Currently, the possible optional fields are
check; see
.BR ptrace (2).
.TP
-.IR /proc/[pid]/task " (since Linux 2.6.0-test6)"
+.IR /proc/[pid]/task " (since Linux 2.6.0)"
+.\" Precisely: Linux 2.6.0-test6
This is a directory that contains one subdirectory
for each thread in the process.
The name of each subdirectory is the numerical thread ID
.RI ( [tid] )
of the thread (see
.BR gettid (2)).
+.IP
Within each of these subdirectories, there is a set of
files with the same names and contents as under the
.I /proc/[pid]
or they might not exist in
.I /proc/[pid]
at all.
+.IP
.\" The following was still true as at kernel 2.6.13
In a multithreaded process, the contents of the
.I /proc/[pid]/task
.IP
For further details on the meanings of these bits,
see the kernel source file
-.IR Documentation/vm/pagemap.txt .
+.IR Documentation/admin-guide/mm/pagemap.rst .
Before kernel 2.6.29,
.\" commit ad3bdefe877afb47480418fdb05ecd42842de65e
.\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
The limit is calculated according to the formula described under
.IR /proc/sys/vm/overcommit_memory .
For further details, see the kernel source file
-.IR Documentation/vm/overcommit-accounting .
+.IR Documentation/vm/overcommit-accounting.rst .
.TP
.IR Committed_AS " %lu"
The amount of memory presently allocated on the system.
.TP
.IR VmallocUsed " %lu"
Amount of vmalloc area which is used.
+Since Linux 4.4,
+.\" commit a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0
+this field is no longer calculated, and is hard coded as 0.
+See
+.IR /proc/vmallocinfo .
.TP
.IR VmallocChunk " %lu"
Largest contiguous block of vmalloc area which is free.
+Since Linux 4.4,
+.\" commit a5ad88ce8c7fae7ddc72ee49a11a75aa837788e0
+this field is no longer calculated and is hard coded as 0.
+See
+.IR /proc/vmallocinfo .
.TP
.IR HardwareCorrupted " %lu (since Linux 2.6.32)"
(\fBCONFIG_MEMORY_FAILURE\fP is required.)
in certain conditions.
.RE
.TP
-.IR irq " (since Linux 2.6.0-test4)"
+.IR irq " (since Linux 2.6.0)"
+.\" Precisely: Linux 2.6.0-test4
(6) Time servicing interrupts.
.TP
-.IR softirq " (since Linux 2.6.0-test4)"
+.IR softirq " (since Linux 2.6.0"
+.\" Precisely: Linux 2.6.0-test4
(7) Time servicing softirqs.
.TP
.IR steal " (since Linux 2.6.11)"
.BR sysctl (2)
system call.
.IP
-String values may be terminated by either \(aq\\0\(aq or \(aq\\n\(aq.
+String values may be terminated by either \(aq\e0\(aq or \(aq\en\(aq.
.IP
Integer and long values may be written either in decimal or in
hexadecimal notation (e.g. 0x3FFF).
When writing multiple integer or long values, these may be separated
by any of the following whitespace characters:
-\(aq\ \(aq, \(aq\\t\(aq, or \(aq\\n\(aq.
+\(aq\ \(aq, \(aq\et\(aq, or \(aq\en\(aq.
Using other separators leads to the error
.BR EINVAL .
.TP
tty drivers and line disciplines.
.TP
.I /proc/uptime
-This file contains two numbers: the uptime of the system (seconds),
-and the amount of time spent in idle process (seconds).
+This file contains two numbers (values in seconds): the uptime of the
+system (including time spent in suspend) and the amount of time spent
+in the idle process.
.TP
.I /proc/version
This string identifies the kernel version that is currently running.
.IR compact_stall " (since Linux 2.6.35)"
.\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR compact_fail " (since Linux 2.6.35)"
.\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR compact_success " (since Linux 2.6.35)"
.\" commit 56de7263fcf3eb10c8dcdf8d59a9cec831795f3f
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR thp_fault_alloc " (since Linux 2.6.39)"
.\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR thp_fault_fallback " (since Linux 2.6.39)"
.\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR thp_collapse_alloc " (since Linux 2.6.39)"
.\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR thp_collapse_alloc_failed " (since Linux 2.6.39)"
.\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR thp_split " (since Linux 2.6.39)"
.\" commit 81ab4201fb7d91d6b0cd9ad5b4b16776e4bed145
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR thp_zero_page_alloc " (since Linux 3.8)"
.\" commit d8a8e1f0da3d29d7268b3300c96a059d63901b76
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.IR thp_zero_page_alloc_failed " (since Linux 3.8)"
.\" commit d8a8e1f0da3d29d7268b3300c96a059d63901b76
See the kernel source file
-.IR Documentation/vm/transhuge.txt .
+.IR Documentation/admin-guide/mm/transhuge.rst .
.\" Present only if the kernel was configured with
.\" .BR CONFIG_VM_EVENT_COUNTERS
.\" and
.SH NOTES
Many files contain strings (e.g., the environment and command line)
that are in the internal format,
-with subfields terminated by null bytes (\(aq\\0\(aq).
+with subfields terminated by null bytes (\(aq\e0\(aq).
When inspecting such files, you may find that the results are more readable
if you use a command of the following form to display them:
.PP
.BR dmesg (1),
.BR find (1),
.BR free (1),
+.BR htop (1),
.BR init (1),
.BR ps (1),
+.BR pstree (1),
.BR tr (1),
.BR uptime (1),
.BR chroot (2),
.BR sysctl (8)
.PP
The Linux kernel source files:
-.IR Documentation/filesystems/proc.txt
+.IR Documentation/filesystems/proc.txt ,
.IR Documentation/sysctl/fs.txt ,
.IR Documentation/sysctl/kernel.txt ,
.IR Documentation/sysctl/net.txt ,