/proc is a file system provides detailed information about various hardware devices and other Linux kernel information. The proc file system acts as an interface to internal data structures in the kernel.
It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl). The directory /proc contains one subdirectory for each process running on the system, which is named after the process ID (PID).
Common /proc examples:
$ cat /proc/cpuinfo
This is a collection of CPU and system architecture dependent items, for each supported architecture a different list.
$ cat /proc/devices
Text listing of major numbers and device groups.
$ cat /proc/diskstats (since Linux 2.5.69)
This file contains disk I/O statistics for each disk device.
$ cat /proc/filesystems
A text listing of the file systems which are supported by the kernel, namely file systems which were compiled into the kernel or whose kernel modules are currently loaded.
$ cat /proc/ide
This directory exists on systems with the IDE bus.
$ cat /proc/meminfo
This file reports statistics about memory usage on the system.
$ cat /proc/mounts
This file was a list of all the file systems currently mounted on the system.
$ cat /proc/partitions
Contains major and minor numbers of each partition as well as number of blocks and partition name.
$ cat /proc/swaps
Swap areas in use.
$ cat /proc/uptime
This file contains two numbers: the uptime of the system (seconds), and the amount of time spent in idle process (seconds).
$ cat /proc/version
This string identifies the kernel version that is currently running.
$ cat /proc/vmstat (since Linux 2.6)
This file displays various virtual memory statistics.
$ cat /proc/zoneinfo (since Linux 2.6.13)
This file display information about memory zones. This is useful for analyzing virtual memory behavior.