proc.txt: update kernel filesystem/proc.txt documentation
An update for the "Process-Specific Subdirectories" section to reflect the changes till kernel 2.6.30. Signed-off-by: Stefani Seibold <stefani@seibold.net> Cc: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
2f6d311080
commit
349888ee7b
|
@ -5,11 +5,12 @@
|
||||||
Bodo Bauer <bb@ricochet.net>
|
Bodo Bauer <bb@ricochet.net>
|
||||||
|
|
||||||
2.4.x update Jorge Nerin <comandante@zaralinux.com> November 14 2000
|
2.4.x update Jorge Nerin <comandante@zaralinux.com> November 14 2000
|
||||||
move /proc/sys Shen Feng <shen@cn.fujitsu.com> April 1 2009
|
move /proc/sys Shen Feng <shen@cn.fujitsu.com> April 1 2009
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
Version 1.3 Kernel version 2.2.12
|
Version 1.3 Kernel version 2.2.12
|
||||||
Kernel version 2.4.0-test11-pre4
|
Kernel version 2.4.0-test11-pre4
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
fixes/update part 1.1 Stefani Seibold <stefani@seibold.net> June 9 2009
|
||||||
|
|
||||||
Table of Contents
|
Table of Contents
|
||||||
-----------------
|
-----------------
|
||||||
|
@ -116,7 +117,7 @@ The link self points to the process reading the file system. Each process
|
||||||
subdirectory has the entries listed in Table 1-1.
|
subdirectory has the entries listed in Table 1-1.
|
||||||
|
|
||||||
|
|
||||||
Table 1-1: Process specific entries in /proc
|
Table 1-1: Process specific entries in /proc
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
clear_refs Clears page referenced bits shown in smaps output
|
clear_refs Clears page referenced bits shown in smaps output
|
||||||
|
@ -134,46 +135,103 @@ Table 1-1: Process specific entries in /proc
|
||||||
status Process status in human readable form
|
status Process status in human readable form
|
||||||
wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan
|
wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan
|
||||||
stack Report full stack trace, enable via CONFIG_STACKTRACE
|
stack Report full stack trace, enable via CONFIG_STACKTRACE
|
||||||
smaps Extension based on maps, the rss size for each mapped file
|
smaps a extension based on maps, showing the memory consumption of
|
||||||
|
each mapping
|
||||||
..............................................................................
|
..............................................................................
|
||||||
|
|
||||||
For example, to get the status information of a process, all you have to do is
|
For example, to get the status information of a process, all you have to do is
|
||||||
read the file /proc/PID/status:
|
read the file /proc/PID/status:
|
||||||
|
|
||||||
>cat /proc/self/status
|
>cat /proc/self/status
|
||||||
Name: cat
|
Name: cat
|
||||||
State: R (running)
|
State: R (running)
|
||||||
Pid: 5452
|
Tgid: 5452
|
||||||
PPid: 743
|
Pid: 5452
|
||||||
|
PPid: 743
|
||||||
TracerPid: 0 (2.4)
|
TracerPid: 0 (2.4)
|
||||||
Uid: 501 501 501 501
|
Uid: 501 501 501 501
|
||||||
Gid: 100 100 100 100
|
Gid: 100 100 100 100
|
||||||
Groups: 100 14 16
|
FDSize: 256
|
||||||
VmSize: 1112 kB
|
Groups: 100 14 16
|
||||||
VmLck: 0 kB
|
VmPeak: 5004 kB
|
||||||
VmRSS: 348 kB
|
VmSize: 5004 kB
|
||||||
VmData: 24 kB
|
VmLck: 0 kB
|
||||||
VmStk: 12 kB
|
VmHWM: 476 kB
|
||||||
VmExe: 8 kB
|
VmRSS: 476 kB
|
||||||
VmLib: 1044 kB
|
VmData: 156 kB
|
||||||
SigPnd: 0000000000000000
|
VmStk: 88 kB
|
||||||
SigBlk: 0000000000000000
|
VmExe: 68 kB
|
||||||
SigIgn: 0000000000000000
|
VmLib: 1412 kB
|
||||||
SigCgt: 0000000000000000
|
VmPTE: 20 kb
|
||||||
CapInh: 00000000fffffeff
|
Threads: 1
|
||||||
CapPrm: 0000000000000000
|
SigQ: 0/28578
|
||||||
CapEff: 0000000000000000
|
SigPnd: 0000000000000000
|
||||||
|
ShdPnd: 0000000000000000
|
||||||
|
SigBlk: 0000000000000000
|
||||||
|
SigIgn: 0000000000000000
|
||||||
|
SigCgt: 0000000000000000
|
||||||
|
CapInh: 00000000fffffeff
|
||||||
|
CapPrm: 0000000000000000
|
||||||
|
CapEff: 0000000000000000
|
||||||
|
CapBnd: ffffffffffffffff
|
||||||
|
voluntary_ctxt_switches: 0
|
||||||
|
nonvoluntary_ctxt_switches: 1
|
||||||
|
|
||||||
This shows you nearly the same information you would get if you viewed it with
|
This shows you nearly the same information you would get if you viewed it with
|
||||||
the ps command. In fact, ps uses the proc file system to obtain its
|
the ps command. In fact, ps uses the proc file system to obtain its
|
||||||
information. The statm file contains more detailed information about the
|
information. But you get a more detailed view of the process by reading the
|
||||||
process memory usage. Its seven fields are explained in Table 1-2. The stat
|
file /proc/PID/status. It fields are described in table 1-2.
|
||||||
file contains details information about the process itself. Its fields are
|
|
||||||
explained in Table 1-3.
|
|
||||||
|
|
||||||
|
The statm file contains more detailed information about the process
|
||||||
|
memory usage. Its seven fields are explained in Table 1-3. The stat file
|
||||||
|
contains details information about the process itself. Its fields are
|
||||||
|
explained in Table 1-4.
|
||||||
|
|
||||||
Table 1-2: Contents of the statm files (as of 2.6.8-rc3)
|
Table 1-2: Contents of the statm files (as of 2.6.30-rc7)
|
||||||
|
..............................................................................
|
||||||
|
Field Content
|
||||||
|
Name filename of the executable
|
||||||
|
State state (R is running, S is sleeping, D is sleeping
|
||||||
|
in an uninterruptible wait, Z is zombie,
|
||||||
|
T is traced or stopped)
|
||||||
|
Tgid thread group ID
|
||||||
|
Pid process id
|
||||||
|
PPid process id of the parent process
|
||||||
|
TracerPid PID of process tracing this process (0 if not)
|
||||||
|
Uid Real, effective, saved set, and file system UIDs
|
||||||
|
Gid Real, effective, saved set, and file system GIDs
|
||||||
|
FDSize number of file descriptor slots currently allocated
|
||||||
|
Groups supplementary group list
|
||||||
|
VmPeak peak virtual memory size
|
||||||
|
VmSize total program size
|
||||||
|
VmLck locked memory size
|
||||||
|
VmHWM peak resident set size ("high water mark")
|
||||||
|
VmRSS size of memory portions
|
||||||
|
VmData size of data, stack, and text segments
|
||||||
|
VmStk size of data, stack, and text segments
|
||||||
|
VmExe size of text segment
|
||||||
|
VmLib size of shared library code
|
||||||
|
VmPTE size of page table entries
|
||||||
|
Threads number of threads
|
||||||
|
SigQ number of signals queued/max. number for queue
|
||||||
|
SigPnd bitmap of pending signals for the thread
|
||||||
|
ShdPnd bitmap of shared pending signals for the process
|
||||||
|
SigBlk bitmap of blocked signals
|
||||||
|
SigIgn bitmap of ignored signals
|
||||||
|
SigCgt bitmap of catched signals
|
||||||
|
CapInh bitmap of inheritable capabilities
|
||||||
|
CapPrm bitmap of permitted capabilities
|
||||||
|
CapEff bitmap of effective capabilities
|
||||||
|
CapBnd bitmap of capabilities bounding set
|
||||||
|
Cpus_allowed mask of CPUs on which this process may run
|
||||||
|
Cpus_allowed_list Same as previous, but in "list format"
|
||||||
|
Mems_allowed mask of memory nodes allowed to this process
|
||||||
|
Mems_allowed_list Same as previous, but in "list format"
|
||||||
|
voluntary_ctxt_switches number of voluntary context switches
|
||||||
|
nonvoluntary_ctxt_switches number of non voluntary context switches
|
||||||
|
..............................................................................
|
||||||
|
|
||||||
|
Table 1-3: Contents of the statm files (as of 2.6.8-rc3)
|
||||||
..............................................................................
|
..............................................................................
|
||||||
Field Content
|
Field Content
|
||||||
size total program size (pages) (same as VmSize in status)
|
size total program size (pages) (same as VmSize in status)
|
||||||
|
@ -188,7 +246,7 @@ Table 1-2: Contents of the statm files (as of 2.6.8-rc3)
|
||||||
..............................................................................
|
..............................................................................
|
||||||
|
|
||||||
|
|
||||||
Table 1-3: Contents of the stat files (as of 2.6.22-rc3)
|
Table 1-4: Contents of the stat files (as of 2.6.30-rc7)
|
||||||
..............................................................................
|
..............................................................................
|
||||||
Field Content
|
Field Content
|
||||||
pid process id
|
pid process id
|
||||||
|
@ -222,10 +280,10 @@ Table 1-3: Contents of the stat files (as of 2.6.22-rc3)
|
||||||
start_stack address of the start of the stack
|
start_stack address of the start of the stack
|
||||||
esp current value of ESP
|
esp current value of ESP
|
||||||
eip current value of EIP
|
eip current value of EIP
|
||||||
pending bitmap of pending signals (obsolete)
|
pending bitmap of pending signals
|
||||||
blocked bitmap of blocked signals (obsolete)
|
blocked bitmap of blocked signals
|
||||||
sigign bitmap of ignored signals (obsolete)
|
sigign bitmap of ignored signals
|
||||||
sigcatch bitmap of catched signals (obsolete)
|
sigcatch bitmap of catched signals
|
||||||
wchan address where process went to sleep
|
wchan address where process went to sleep
|
||||||
0 (place holder)
|
0 (place holder)
|
||||||
0 (place holder)
|
0 (place holder)
|
||||||
|
@ -234,19 +292,99 @@ Table 1-3: Contents of the stat files (as of 2.6.22-rc3)
|
||||||
rt_priority realtime priority
|
rt_priority realtime priority
|
||||||
policy scheduling policy (man sched_setscheduler)
|
policy scheduling policy (man sched_setscheduler)
|
||||||
blkio_ticks time spent waiting for block IO
|
blkio_ticks time spent waiting for block IO
|
||||||
|
gtime guest time of the task in jiffies
|
||||||
|
cgtime guest time of the task children in jiffies
|
||||||
..............................................................................
|
..............................................................................
|
||||||
|
|
||||||
|
The /proc/PID/map file containing the currently mapped memory regions and
|
||||||
|
their access permissions.
|
||||||
|
|
||||||
|
The format is:
|
||||||
|
|
||||||
|
address perms offset dev inode pathname
|
||||||
|
|
||||||
|
08048000-08049000 r-xp 00000000 03:00 8312 /opt/test
|
||||||
|
08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test
|
||||||
|
0804a000-0806b000 rw-p 00000000 00:00 0 [heap]
|
||||||
|
a7cb1000-a7cb2000 ---p 00000000 00:00 0
|
||||||
|
a7cb2000-a7eb2000 rw-p 00000000 00:00 0
|
||||||
|
a7eb2000-a7eb3000 ---p 00000000 00:00 0
|
||||||
|
a7eb3000-a7ed5000 rw-p 00000000 00:00 0
|
||||||
|
a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6
|
||||||
|
a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6
|
||||||
|
a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6
|
||||||
|
a800b000-a800e000 rw-p 00000000 00:00 0
|
||||||
|
a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0
|
||||||
|
a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0
|
||||||
|
a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0
|
||||||
|
a8024000-a8027000 rw-p 00000000 00:00 0
|
||||||
|
a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2
|
||||||
|
a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2
|
||||||
|
a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2
|
||||||
|
aff35000-aff4a000 rw-p 00000000 00:00 0 [stack]
|
||||||
|
ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
|
||||||
|
|
||||||
|
where "address" is the address space in the process that it occupies, "perms"
|
||||||
|
is a set of permissions:
|
||||||
|
|
||||||
|
r = read
|
||||||
|
w = write
|
||||||
|
x = execute
|
||||||
|
s = shared
|
||||||
|
p = private (copy on write)
|
||||||
|
|
||||||
|
"offset" is the offset into the mapping, "dev" is the device (major:minor), and
|
||||||
|
"inode" is the inode on that device. 0 indicates that no inode is associated
|
||||||
|
with the memory region, as the case would be with BSS (uninitialized data).
|
||||||
|
The "pathname" shows the name associated file for this mapping. If the mapping
|
||||||
|
is not associated with a file:
|
||||||
|
|
||||||
|
[heap] = the heap of the program
|
||||||
|
[stack] = the stack of the main process
|
||||||
|
[vdso] = the "virtual dynamic shared object",
|
||||||
|
the kernel system call handler
|
||||||
|
|
||||||
|
or if empty, the mapping is anonymous.
|
||||||
|
|
||||||
|
|
||||||
|
The /proc/PID/smaps is an extension based on maps, showing the memory
|
||||||
|
consumption for each of the process's mappings. For each of mappings there
|
||||||
|
is a series of lines such as the following:
|
||||||
|
|
||||||
|
08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash
|
||||||
|
Size: 1084 kB
|
||||||
|
Rss: 892 kB
|
||||||
|
Pss: 374 kB
|
||||||
|
Shared_Clean: 892 kB
|
||||||
|
Shared_Dirty: 0 kB
|
||||||
|
Private_Clean: 0 kB
|
||||||
|
Private_Dirty: 0 kB
|
||||||
|
Referenced: 892 kB
|
||||||
|
Swap: 0 kB
|
||||||
|
KernelPageSize: 4 kB
|
||||||
|
MMUPageSize: 4 kB
|
||||||
|
|
||||||
|
The first of these lines shows the same information as is displayed for the
|
||||||
|
mapping in /proc/PID/maps. The remaining lines show the size of the mapping,
|
||||||
|
the amount of the mapping that is currently resident in RAM, the "proportional
|
||||||
|
set size” (divide each shared page by the number of processes sharing it), the
|
||||||
|
number of clean and dirty shared pages in the mapping, and the number of clean
|
||||||
|
and dirty private pages in the mapping. The "Referenced" indicates the amount
|
||||||
|
of memory currently marked as referenced or accessed.
|
||||||
|
|
||||||
|
This file is only present if the CONFIG_MMU kernel configuration option is
|
||||||
|
enabled.
|
||||||
|
|
||||||
1.2 Kernel data
|
1.2 Kernel data
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Similar to the process entries, the kernel data files give information about
|
Similar to the process entries, the kernel data files give information about
|
||||||
the running kernel. The files used to obtain this information are contained in
|
the running kernel. The files used to obtain this information are contained in
|
||||||
/proc and are listed in Table 1-4. Not all of these will be present in your
|
/proc and are listed in Table 1-5. Not all of these will be present in your
|
||||||
system. It depends on the kernel configuration and the loaded modules, which
|
system. It depends on the kernel configuration and the loaded modules, which
|
||||||
files are there, and which are missing.
|
files are there, and which are missing.
|
||||||
|
|
||||||
Table 1-4: Kernel info in /proc
|
Table 1-5: Kernel info in /proc
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
apm Advanced power management info
|
apm Advanced power management info
|
||||||
|
@ -634,10 +772,10 @@ IDE devices:
|
||||||
|
|
||||||
More detailed information can be found in the controller specific
|
More detailed information can be found in the controller specific
|
||||||
subdirectories. These are named ide0, ide1 and so on. Each of these
|
subdirectories. These are named ide0, ide1 and so on. Each of these
|
||||||
directories contains the files shown in table 1-5.
|
directories contains the files shown in table 1-6.
|
||||||
|
|
||||||
|
|
||||||
Table 1-5: IDE controller info in /proc/ide/ide?
|
Table 1-6: IDE controller info in /proc/ide/ide?
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
channel IDE channel (0 or 1)
|
channel IDE channel (0 or 1)
|
||||||
|
@ -647,11 +785,11 @@ Table 1-5: IDE controller info in /proc/ide/ide?
|
||||||
..............................................................................
|
..............................................................................
|
||||||
|
|
||||||
Each device connected to a controller has a separate subdirectory in the
|
Each device connected to a controller has a separate subdirectory in the
|
||||||
controllers directory. The files listed in table 1-6 are contained in these
|
controllers directory. The files listed in table 1-7 are contained in these
|
||||||
directories.
|
directories.
|
||||||
|
|
||||||
|
|
||||||
Table 1-6: IDE device information
|
Table 1-7: IDE device information
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
cache The cache
|
cache The cache
|
||||||
|
@ -693,12 +831,12 @@ the drive parameters:
|
||||||
1.4 Networking info in /proc/net
|
1.4 Networking info in /proc/net
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
The subdirectory /proc/net follows the usual pattern. Table 1-6 shows the
|
The subdirectory /proc/net follows the usual pattern. Table 1-8 shows the
|
||||||
additional values you get for IP version 6 if you configure the kernel to
|
additional values you get for IP version 6 if you configure the kernel to
|
||||||
support this. Table 1-7 lists the files and their meaning.
|
support this. Table 1-9 lists the files and their meaning.
|
||||||
|
|
||||||
|
|
||||||
Table 1-6: IPv6 info in /proc/net
|
Table 1-8: IPv6 info in /proc/net
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
udp6 UDP sockets (IPv6)
|
udp6 UDP sockets (IPv6)
|
||||||
|
@ -713,7 +851,7 @@ Table 1-6: IPv6 info in /proc/net
|
||||||
..............................................................................
|
..............................................................................
|
||||||
|
|
||||||
|
|
||||||
Table 1-7: Network info in /proc/net
|
Table 1-9: Network info in /proc/net
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
arp Kernel ARP table
|
arp Kernel ARP table
|
||||||
|
@ -837,10 +975,10 @@ The directory /proc/parport contains information about the parallel ports of
|
||||||
your system. It has one subdirectory for each port, named after the port
|
your system. It has one subdirectory for each port, named after the port
|
||||||
number (0,1,2,...).
|
number (0,1,2,...).
|
||||||
|
|
||||||
These directories contain the four files shown in Table 1-8.
|
These directories contain the four files shown in Table 1-10.
|
||||||
|
|
||||||
|
|
||||||
Table 1-8: Files in /proc/parport
|
Table 1-10: Files in /proc/parport
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
autoprobe Any IEEE-1284 device ID information that has been acquired.
|
autoprobe Any IEEE-1284 device ID information that has been acquired.
|
||||||
|
@ -858,10 +996,10 @@ Table 1-8: Files in /proc/parport
|
||||||
|
|
||||||
Information about the available and actually used tty's can be found in the
|
Information about the available and actually used tty's can be found in the
|
||||||
directory /proc/tty.You'll find entries for drivers and line disciplines in
|
directory /proc/tty.You'll find entries for drivers and line disciplines in
|
||||||
this directory, as shown in Table 1-9.
|
this directory, as shown in Table 1-11.
|
||||||
|
|
||||||
|
|
||||||
Table 1-9: Files in /proc/tty
|
Table 1-11: Files in /proc/tty
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
drivers list of drivers and their usage
|
drivers list of drivers and their usage
|
||||||
|
@ -952,9 +1090,9 @@ Information about mounted ext4 file systems can be found in
|
||||||
/proc/fs/ext4. Each mounted filesystem will have a directory in
|
/proc/fs/ext4. Each mounted filesystem will have a directory in
|
||||||
/proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or
|
/proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or
|
||||||
/proc/fs/ext4/dm-0). The files in each per-device directory are shown
|
/proc/fs/ext4/dm-0). The files in each per-device directory are shown
|
||||||
in Table 1-10, below.
|
in Table 1-12, below.
|
||||||
|
|
||||||
Table 1-10: Files in /proc/fs/ext4/<devname>
|
Table 1-12: Files in /proc/fs/ext4/<devname>
|
||||||
..............................................................................
|
..............................................................................
|
||||||
File Content
|
File Content
|
||||||
mb_groups details of multiblock allocator buddy cache of free blocks
|
mb_groups details of multiblock allocator buddy cache of free blocks
|
||||||
|
|
Loading…
Reference in New Issue