The /sbin/sysctl command is used to
view, set, and automate kernel settings in the /proc/sys/ directory.
For a quick overview of all settings configurable in the
/proc/sys/ directory, type the /sbin/sysctl -a command as root. This creates a
large, comprehensive list, a small portion of which looks something
like the following:
net.ipv4.route.min_delay = 2
kernel.sysrq = 0
kernel.sem = 250 32000 32 128
This is the same information seen if each of the files were
viewed individually. The only difference is the file location. For
example, the /proc/sys/net/ipv4/route/min_delay file is listed
with the directory slashes replaced by dots and the proc.sys portion assumed.
The sysctl command can be used in place
of echo to assign values to writable files
in the /proc/sys/ directory. For example,
instead of using the command
echo 1 > /proc/sys/kernel/sysrq
use the equivalent sysctl command as
sysctl -w kernel.sysrq="1"
kernel.sysrq = 1
While quickly setting single values like this in /proc/sys/ is helpful during testing, this method
does not work as well on a production system as special settings
within /proc/sys/ are lost when the
machine is rebooted. To preserve custom settings, add them to the
Each time the system boots, the init
program runs the /etc/rc.d/rc.sysinit
script. This script contains a command to execute sysctl using /etc/sysctl.conf to determine the values passed to
the kernel. Any values added to /etc/sysctl.conf therefore take effect each time
the system boots.