The purpose behind the proc filesystem is two-fold:
- One, it is a simple interface for developers, system administrators, and anyone really to look deep inside the kernel so that they can gain information regarding the internals of processes, the kernel, and even hardware. Using this interface only requires you to know basic shell commands such as cd, cat, echo, ls, and so on.
- Two, as the root user and, at times, the owner, you can write into certain pseudo files under /proc/sys, thus tuning various kernel parameters. This feature is called sysctl. As an example, you can tune various IPv4 networking parameters in /proc/sys/net/ipv4/. They are all documented here: https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt.
Changing the value of a proc-based tunable is easy; for example, let's change the maximum number of threads allowed at any given point in time on the box. Run the following commands as root:
# cat /proc/sys...