====== Proc ====== 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. ===== Process-Specific Sub-directories ===== 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^ |[[Proc:clear_refs file|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.| |[[Proc:maps file|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.| |[[Proc:Process Status file|stat]]|Process status.| |[[Proc:statm file|statm]]|Process memory status information.| |[[Proc:status file|status]]|Process status in human readable form.| |wchan|If CONFIG_KALLSYMS is set, a pre-decoded wchan.| |[[Proc:pagemap file|pagemap]]|Page table.| |stack|Report full stack trace, enable via CONFIG_STACKTRACE.| |[[Proc:smaps file|smaps]]|An extension based on maps, showing the memory consumption of each mapping.| ===== Kernel data ===== 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.| |[[Proc:Buddy Info file|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).| |[[Proc:File System directory|fs]]|File system parameters, currently nfs/exports (2.4).| |[[Proc:IDE directory|ide]]|Directory containing info about the IDE subsystem.| |[[Proc:Interrupts file|interrupts]]|Interrupt usage.| |iomem|Memory map (2.4).| |ioports|I/O port usage.| |[[Proc:IRQ Vectors|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.| |[[Proc:Memory Info file|meminfo]]|Memory info.| |misc|Miscellaneous.| |modules|List of loaded modules.| |mounts|Mounted filesystems.| |[[Proc:Network directory|net]]|Networking info.| |[[Proc:Page Type Info file|pagetypeinfo]]|Additional page allocator information (see text) (2.5).| |[[Proc:Parallel Ports directory|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.| |[[Proc:SCSI directory|scsi]]|SCSI info.| |[[Proc:Slab pool info file|slabinfo]]|Slab pool info.| |[[Proc:Soft IRQs file|softirqs]]|softirq usage.| |[[Proc:Stat file|stat]]|Overall statistics.| |swaps|Swap space utilization.| |[[Proc:System file|sys]]|System info.| |sysvipc|Info of SysVIPC Resources (msg, sem, shm) (2.4).| |[[Proc:TTY directory|tty]]|Info of tty drivers.| |uptime|System uptime.| |version|Kernel version.| |video|bttv info of video resources (2.4).| |[[Proc:VM Alloc Info file|vmallocinfo]]|Show vmalloced areas.| ===== Per Process Parameters ===== Through /proc//xxx where xxx is the file from the following table: ^File^Content^ |[[Proc:Out of Memory Killer Score|oom_adj]]|Out of memory killer score. Deprecated and will be removed. Replaced by **oom_score_adj**.| |[[Proc:Out of Memory Killer Score|oom_score_adj]]|Out of memory killer score.| |[[Proc:IO Accounting Fields|io]]|IO accounting fields, which are IO statistics for each running process.| |[[Proc:Core Dump Filter|coredump_filter]]|Core dump filtering settings.| |[[Proc:Mount Information|mountinfo]]|Information about mounts.| |[[Proc:Comm|comm]]|Task name excluding path.| ===== References ===== http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html https://www.cyberciti.biz/files/linux-kernel/Documentation/filesystems/proc.txt