Tuning the kernel through the proc
filesystem in Debian
The behavior of the Linux kernel can be changed on the fly using
the proc filesystem.
For basic information on changing kernel parameters through the
/proc filesystem, read Documentation/sysctl/*
in the Linux source.
Check sysctl.conf
manpage for how to set up the boot time kernel configuration
through /proc filesystem with /etc/init.d/procps.sh
script usually run from /etc/rcS.d/S30procps.sh.
Too many open files
The Linux kernel may complain "Too many open files". This is due
to the small default value (8096) for file-max. To fix this
problem, run the following command as root:
# echo "65536" > /proc/sys/fs/file-max #
for 2.2 and 2.4 kernel
# echo "131072" > /proc/sys/fs/inode-max # for 2.2 kernel only
or put the following into /etc/sysctl.conf
for the permanent change:
file-max=65536 # for 2.2 and 2.4 kernel
inode-max=131072 # for 2.2 kernel only
Disk flush intervals
You can change disk flush intervals through the proc filesystem.
The following will shorten its interval from the default five
seconds to one second.
# echo "40 0 0 0 100 30000 60 0 0" >
/proc/sys/vm/bdflush
This may negatively impact file I/O performance a little bit.
But this secures file contents except for the last one second
which is shorter than the default five seconds. This is true
even for journaling filesystems.
Sluggish old low memory machines
For some old low memory systems, it may still be useful to
enable over-commit of memory through the proc filesystem:
# echo 1 > /proc/sys/vm/overcommit_memory
The 2.6 kernel with udev
The udev is a dynamic replacement for /dev/. Device names can be
chosen to be very short ones. The devfs used in the 2.4 kernel
is now obsolete.
Installing the new Debian 2.6 kernel provided by
kernel-image-2.6.NN with udev package will enable this.