/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/procwith the process ID as the name. These directories contain information about the corresponding process, such as its memory usage and status.