--- runtime.sgml.orig Fri Feb 4 22:17:45 2005 +++ runtime.sgml Fri Feb 4 22:17:57 2005 @@ -4414,37 +4414,29 @@ LinuxIPC configuration - The default shared memory limit (both - SHMMAX and SHMALL) is 32 - MB in 2.2 kernels, but it can be changed in the - proc file system (without reboot). For - example, to allow 128 MB: + The default settings are only suitable for small installations + (the default max segment size is 32 MB). However the remaining + defaults are quite generously sized, and usually do not require + changes. The max segment size can be changed via the + sysctl interface. For example, to allow 128 MB, + and explicitly set the maximum total shared memory size to 2097152 + pages (the default): -$ echo 134217728 >/proc/sys/kernel/shmall -$ echo 134217728 >/proc/sys/kernel/shmmax +$ systcl -w kernel.shmmax=134217728 +$ systcl -w kernel.shmall=2097152 - You could put these commands into a script run at boot-time. - - - - Alternatively, you can use sysctl, if - available, to control these parameters. Look for a file - called /etc/sysctl.conf and add lines - like the following to it: - -kernel.shmall = 134217728 -kernel.shmmax = 134217728 - - This file is usually processed at boot time, but - sysctl can also be called - explicitly later. + In addition these settings can be saved between reboots in + /etc/sysctl.conf. - Other parameters are sufficiently sized for any application. If - you want to see for yourself look in - /usr/src/linux/include/asm-xxx/shmparam.h - and /usr/src/linux/include/linux/sem.h. + Older distributions may not have the sysctl program, + but equivalent changes can be made by manipulating the + /proc filesystem: + +$ echo 134217728 >/proc/sys/kernel/shmmax +$ echo 2097152 >/proc/sys/kernel/shmall +