The /proc file system, doesn't contain 'real' files. Most of the 'files' within /proc have a file size of 0.
/proc simply acts as an interface to internal data structures in the kernel. It can be used to obtain information about the system (such as memory, disks mounted, hardware configuration, etc.) and to change certain kernel parameters at runtime (sysctl).
It not only allows access to process data but also allows you to request the kernel status by reading files in the hierarchy.
The /proc directory contains (among other things) one sub-directory for each process running on the system, which is named after the process ID (PID).
Each process sub-directory has the following entries.
File | Content |
---|---|
clear_refs | Clears page referenced bits shown in smaps output. |
cmdline | Command line arguments. |
cpu | Current and last cpu in which it was executed (2.4)(smp). |
cwd | Link to the current working directory. |
environ | Values of environment variables. |
exe | Link to the executable of this process. |
fd | Directory, which contains all file descriptors. |
maps | Memory maps to executables and library files (2.4). |
mem | Memory held by this process. |
root | Link to the root directory of this process. |
stat | Process status. |
statm | Process memory status information. |
status | Process status in human readable form. |
wchan | If CONFIG_KALLSYMS is set, a pre-decoded wchan. |
pagemap | Page table. |
stack | Report full stack trace, enable via CONFIG_STACKTRACE. |
smaps | An extension based on maps, showing the memory consumption of each mapping. |
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 /proc and are listed here. Not all of these will be present in your system. It depends on the kernel configuration and the loaded modules, which files are there, and which are missing.
File | Content |
---|---|
apm | Advanced power management info. |
buddyinfo | Kernel memory allocator information (2.5). |
bus | Directory containing bus specific information. |
cmdline | Kernel command line. |
cpuinfo | Info about the CPU. |
devices | Available devices (block and character). |
dma | Used DMS channels. |
filesystems | Supported filesystems. |
driver | Various drivers grouped here, currently rtc (2.4). |
execdomains | Execdomains, related to security (2.4). |
fb | Frame Buffer devices (2.4). |
fs | File system parameters, currently nfs/exports (2.4). |
ide | Directory containing info about the IDE subsystem. |
interrupts | Interrupt usage. |
iomem | Memory map (2.4). |
ioports | I/O port usage. |
irq | Masks for irq to cpu affinity (2.4) (smp?). |
isapnp | ISA PnP (Plug&Play) Info (2.4). |
kcore | Kernel core image (can be ELF or A.OUT (deprecated in 2.4)). |
kmsg | Kernel messages. |
ksyms | Kernel symbol table. |
loadavg | Load average of last 1, 5 & 15 minutes. |
locks | Kernel locks. |
meminfo | Memory info. |
misc | Miscellaneous. |
modules | List of loaded modules. |
mounts | Mounted filesystems. |
net | Networking info. |
pagetypeinfo | Additional page allocator information (see text) (2.5). |
parports | Parallel Ports |
partitions | Table of partitions known to the system. |
pci | Deprecated info of PCI bus (new way → /proc/bus/pci/, decoupled by lspci (2.4). |
rtc | Real time clock. |
scsi | SCSI info. |
slabinfo | Slab pool info. |
softirqs | softirq usage. |
stat | Overall statistics. |
swaps | Swap space utilization. |
sys | System info. |
sysvipc | Info of SysVIPC Resources (msg, sem, shm) (2.4). |
tty | Info of tty drivers. |
uptime | System uptime. |
version | Kernel version. |
video | bttv info of video resources (2.4). |
vmallocinfo | Show vmalloced areas. |
Through /proc/<pid>/xxx where xxx is the file from the following table:
File | Content |
---|---|
oom_adj | Out of memory killer score. Deprecated and will be removed. Replaced by oom_score_adj. |
oom_score_adj | Out of memory killer score. |
io | IO accounting fields, which are IO statistics for each running process. |
coredump_filter | Core dump filtering settings. |
mountinfo | Information about mounts. |
comm | Task name excluding path. |