Search notes:

/proc

/proc is the mount point onto which the proc filesystem is usually mounted.
The original purpose of this file system is to provide information about processes (compare with the debugfs file system /sys/kernel/debug and the sysfs file system under /proc/sys).
However, there are also files that are not about processes, such as /proc/meminfo.
The information about the process with the PID $pid is found under /proc/$pid.
Special files permit to change the system's current configuration.

Subdirectories and files

acpi
appldata Used for arch s390?
apm Advanced power managment: version and battery information (needs CONFIG_APM at kernel compilation time)
asound
buddyinfo Used to diagnore memory fragmentation issues. See also /proc/zoneinfo.
atm
bus Subdirectories for installed busses
capi
cgroups See man 7 cgroups
cmdline The arguments («command line») with which the kernel was started.
config.gz Configuration options that were used when building the kernel. Use zcat and/or zgrep to show the content.
cpu Current and last cpu in which it was executed
cpuinfo CPU ans system architecture. lscpu depends on this file.
crypto List of ciphers provided by the kernel crypto API. See Documentation/crypto
dasd
devices Devices and their major numbers.
driver
efi
dynamic_debug
execdomains
rtc
diskstats Compare with mdstat and stat
dma Registered ISA DMA (direct memory access) channels in use
fb Frame buffer information
filesystems
fs
ide See also man 8 hdparm
irq
interrupts
iomem
ioports
kallsyms Exported symbol definitions of the kernel used by the modules(X) tools to dynamically link and bind loadable modules.
kcore
keys see man 7 keyrings
key-users
kmsg Kernel messages (see also syslog system call and dmesg utility)
kpagecgroup
kpagecount
kpageflags
ksyms
loadavg
locks
malloc
mdstat Compare with diskstats and stat.
meminfo Memory usage statistics
mpt
modules Loaded modules (see also lsmod)
mounts
mtrr
net Networking
palinfo
$pid Each process has a subdirectory whose name corresponds to the process's id ($pid)
partitions
pci
profile
powerpc
ppc64
pressure
registry
rtas
sal
scsi
self A magic symbolic link that resolves to the process's own /proc/$pid directory. Compare /proc/thread-self
sgi_uv deprecated?
slabinfo Caches for frequently used objects in the kernel, such as buffer heads, inodes, dentries etc. The total amount of memory allocated to the SLAB/SLUB cache is shown in the Slab field of /proc/meminfo. See also slaptop (1) and /sys/kernel/slab/.
speakup
stat Kernel and system statistics. Compare with diskstats and mdstat
swaps Swap areas (see also swapon)
sys Kernel variables
sysrq-trigger
sysvipc
thread-self
$tid A subdirectory corresponding to the thread id $tid. The content of these directories is equal to /proc/$pid/task/$tid. Because getdents does not iterate over these directories, they're not visible with ls.
timer_list
timer_stats
tty Pseudo-files and subdirectories for tty drivers and line disciplines.
uptime System uptime
version Kernel version
viafb
vmstat
xen
zoneinfo
In Cygwin, the registry seems to be mounted(?) unto /proc/registry.

See also

man 5 proc
The /proc file system is documented in the Linux kernel sources under Documentation/filesystems/proc.rst.
The kernel source directory fs/proc.
A file in the /proc file system can be created with the function proc_create(), a directory with proc_mkdir (both found in fs/proc/generic)
The (apt packages) procps and psmisc have utilities related to the proc filesystem: free, kill, pgrep, pidwait, pkill, pmap, ps, pwdx, skill, slabtop, snice, tload, top, uptime, vmstat, w, watch, sysctl, fuser, killall, peekfd, pslog, pstree, pstree.x11.
acpi shows battery and thermal information found in the /proc filesystem.

Index