diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index 8d9d40664b4..333adda4086 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -796,7 +796,8 @@ psql: could not connect to server: No such file or directory
In some cases it might also be necessary to increase
SEMMAP to be at least on the order of
- SEMMNS. This parameter defines the size of the semaphore
+ SEMMNS. If the system has this parameter
+ (many do not), it defines the size of the semaphore
resource map, in which each contiguous block of available semaphores
needs an entry. When a semaphore set is freed it is either added to
an existing entry that is adjacent to the freed block or it is
@@ -853,7 +854,7 @@ psql: could not connect to server: No such file or directory
- The default settings can be changed using
+ The default IPC settings can be changed using
the sysctl or
loader interfaces. The following
parameters can be set using sysctl:
@@ -872,13 +873,9 @@ psql: could not connect to server: No such file or directory
kern.ipc.semmni=256
kern.ipc.semmns=512
-kern.ipc.semmnu=256
- After modifying these values a reboot is required for the new
+ After modifying that file, a reboot is required for the new
settings to take effect.
- (Note: FreeBSD does not use SEMMAP. Older versions
- would accept but ignore a setting for kern.ipc.semmap;
- newer versions reject it altogether.)
@@ -902,7 +899,7 @@ kern.ipc.semmnu=256
FreeBSD versions before 4.0 work like
- OpenBSD (see below).
+ old OpenBSD (see below).
@@ -917,12 +914,19 @@ kern.ipc.semmnu=256
IPC parameters can be adjusted using sysctl,
for example:
-$ sysctl -w kern.ipc.shmmax=16777216
+# sysctl -w kern.ipc.semmni=100
- To have these settings persist over reboots, modify
+ To make these settings persist over reboots, modify
/etc/sysctl.conf.
+
+ You will usually want to increase kern.ipc.semmni
+ and kern.ipc.semmns,
+ as NetBSD's default settings
+ for these are uncomfortably small.
+
+
You might also want to configure your kernel to lock shared
memory into RAM and prevent it from being paged out to swap.
@@ -931,10 +935,10 @@ kern.ipc.semmnu=256
- NetBSD versions before 5.0 work like
- OpenBSD (see below), except that
- parameters should be set with the keyword options not
- option.
+ NetBSD versions before 5.0
+ work like old OpenBSD
+ (see below), except that kernel parameters should be set with the
+ keyword options not option.
@@ -945,11 +949,31 @@ kern.ipc.semmnu=256
- The options SYSVSHM and SYSVSEM need
- to be enabled when the kernel is compiled. (They are by
- default.) The maximum size of shared memory is determined by
- the option SHMMAXPGS (in pages). The following
- shows an example of how to set the various parameters:
+ In OpenBSD 3.3 and later,
+ IPC parameters can be adjusted using sysctl,
+ for example:
+
+# sysctl kern.seminfo.semmni=100
+
+ To make these settings persist over reboots, modify
+ /etc/sysctl.conf.
+
+
+
+ You will usually want to
+ increase kern.seminfo.semmni
+ and kern.seminfo.semmns,
+ as OpenBSD's default settings
+ for these are uncomfortably small.
+
+
+
+ In older OpenBSD versions,
+ you will need to build a custom kernel to change the IPC parameters.
+ Make sure that the options SYSVSHM
+ and SYSVSEM are enabled, too. (They are by
+ default.) The following shows an example of how to set the various
+ parameters in the kernel configuration file:
option SYSVSHM
option SHMMAXPGS=4096