/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.

Except where otherwise noted, content on this site is licensed under a CC BY-SA 4.0 license CC BY SA