/proc Directory: Explanation & Insights
Virtual filesystem that contains information about the system's processes, memory, and other hardware components
The /proc
directory is a virtual filesystem that contains information about the system's processes, memory, and other
hardware components. It is dynamically generated by the kernel and does not exist as a traditional directory on disk.
Here is a list of important files and directories in the /proc
directory and their meanings:
/proc/acpi/
- Provides information about the Advanced Configuration and Power Interface (ACPI) of the system./proc/buddyinfo
- Contains information about the free and used pages in the kernel's buddy system, which manages memory allocation./proc/bus/
- Contains information about the system's buses, such as PCI and USB./proc/cgroups
- Displays information about the control groups (cgroups) configured on the system./proc/cmdline
- Contains the command-line arguments that were passed to the kernel at boot time./proc/consoles
- Provides information about the consoles configured on the system./proc/cpuinfo
- Contains detailed information about the processor, including the model, vendor, and features./proc/crypto
- Displays information about the cryptographic algorithms available on the system./proc/devices
- Lists the device drivers that are currently loaded on the system./proc/diskstats
- Contains statistics about the block devices on the system./proc/dma
- Contains information about the Direct Memory Access (DMA) channels on the system./proc/driver/
- Directory containing information about various device drivers./proc/dynamic_debug/
- Directory containing information related to dynamic kernel debugging./proc/execdomains
- Displays the execution domains supported by the kernel./proc/fb
- Contains information about frame buffer devices./proc/filesystems
- Lists the filesystems supported by the kernel./proc/fs/
- Directory containing information about filesystem-related data./proc/interrupts
- Lists the interrupts that are currently in use on the system./proc/iomem
- Displays the system's physical memory map./proc/ioports
- Lists the I/O ports used by devices on the system./proc/irq/
- Directory containing information about Interrupt Request (IRQ) handlers./proc/kallsyms
- Displays the kernel's symbol table, including function and variable names./proc/kcore
- Provides access to the kernel's core memory image./proc/keys
- Displays information about the keyrings used by the kernel./proc/key-users
- Lists users of the keyrings./proc/kmsg
- Provides access to the kernel's message buffer./proc/kpagecgroup
- Displays information about kernel page cgroups./proc/kpagecount
- Provides information about the number of pages in the system./proc/kpageflags
- Displays page flags information./proc/loadavg
- Contains system load average information./proc/locks
- Displays information about file and record locks in the system./proc/mdstat
- Provides information about the status of software RAID devices./proc/meminfo
- Contains information about the system's memory usage and availability./proc/misc
- Displays information about miscellaneous devices and drivers./proc/modules
- Lists the kernel modules that are currently loaded on the system./proc/mounts
- Lists the filesystems that are currently mounted on the system./proc/mtrr
- Displays information about memory type range registers./proc/net/
- Contains information about the network interfaces and protocols on the system./proc/pagetypeinfo
- Displays information about page types in the system./proc/partitions
- Lists the disk partitions on the system./proc/pressure/
- Directory containing information about resource pressure./proc/self/
- Symbolic link to the process's own directory./proc/slabinfo
- Displays information about kernel slab caches./proc/softirqs
- Lists information about software interrupts./proc/stat
- Contains various statistics about the system, including CPU usage and process counts./proc/swaps
- Lists the swap spaces on the system./proc/sys/
- Contains various system parameters that can be configured through the sysctl command./proc/sysrq-trigger
- A direct interface to send commands to the kernel./proc/sysvipc/
- Contains information about System V IPC objects./proc/thread-self/
- Symbolic link to the thread-specific directory./proc/timer_list
- Displays information about kernel timers./proc/tty/
- Contains information about terminal devices./proc/uptime
- Contains the uptime of the system, in seconds./proc/version
- Contains the version of the Linux kernel./proc/[pid]
- Each process on the system has a directory under/proc
with the process ID as the name. These directories contain information about the corresponding process, such as its memory usage and status.