@ -796,7 +796,8 @@ psql: could not connect to server: No such file or directory
<para>
<para>
In some cases it might also be necessary to increase
In some cases it might also be necessary to increase
<varname>SEMMAP</varname> to be at least on the order of
<varname>SEMMAP</varname> to be at least on the order of
<varname>SEMMNS</varname>. This parameter defines the size of the semaphore
<varname>SEMMNS</varname>. 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
resource map, in which each contiguous block of available semaphores
needs an entry. When a semaphore set is freed it is either added to
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
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
</term>
</term>
<listitem>
<listitem>
<para>
<para>
The default settings can be changed using
The default IPC settings can be changed using
the <command>sysctl</command> or
the <command>sysctl</command> or
<command>loader</command> interfaces. The following
<command>loader</command> interfaces. The following
parameters can be set using <command>sysctl</command>:
parameters can be set using <command>sysctl</command>:
@ -872,13 +873,9 @@ psql: could not connect to server: No such file or directory
<programlisting>
<programlisting>
kern.ipc.semmni=256
kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmns=512
kern.ipc.semmnu=256
</programlisting>
</programlisting>
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.
settings to take effect.
(Note: FreeBSD does not use <varname>SEMMAP</varname>. Older versions
would accept but ignore a setting for <literal>kern.ipc.semmap</literal>;
newer versions reject it altogether.)
</para>
</para>
<para>
<para>
@ -902,7 +899,7 @@ kern.ipc.semmnu=256
<para>
<para>
<systemitem class="osname">FreeBSD</systemitem> versions before 4.0 work like
<systemitem class="osname">FreeBSD</systemitem> versions before 4.0 work like
<systemitem class="osname">OpenBSD</systemitem> (see below).
old <systemitem class="osname">OpenBSD</systemitem> (see below).
</para>
</para>
</listitem>
</listitem>
</varlistentry>
</varlistentry>
@ -917,12 +914,19 @@ kern.ipc.semmnu=256
IPC parameters can be adjusted using <command>sysctl</command>,
IPC parameters can be adjusted using <command>sysctl</command>,
for example:
for example:
<screen>
<screen>
<prompt>$</prompt> <userinput>sysctl -w kern.ipc.shmmax=16777216 </userinput>
<prompt>#</prompt> <userinput>sysctl -w kern.ipc.semmni=100 </userinput>
</screen>
</screen>
To hav e these settings persist over reboots, modify
To mak e these settings persist over reboots, modify
<filename>/etc/sysctl.conf</filename>.
<filename>/etc/sysctl.conf</filename>.
</para>
</para>
<para>
You will usually want to increase <literal>kern.ipc.semmni</literal>
and <literal>kern.ipc.semmns</literal>,
as <systemitem class="osname">NetBSD</systemitem>'s default settings
for these are uncomfortably small.
</para>
<para>
<para>
You might also want to configure your kernel to lock shared
You might also want to configure your kernel to lock shared
memory into RAM and prevent it from being paged out to swap.
memory into RAM and prevent it from being paged out to swap.
@ -931,10 +935,10 @@ kern.ipc.semmnu=256
</para>
</para>
<para>
<para>
<systemitem class="osname">NetBSD</systemitem> versions before 5.0 work like
<systemitem class="osname">NetBSD</systemitem> versions before 5.0
<systemitem class="osname">OpenBSD</systemitem> (see below), except that
work like old <systemitem class="osname">OpenBSD</systemitem>
parameters should be set with the keyword <literal>options</literal> not
(see below), except that kernel parameters should be set with the
<literal>option</literal>.
keyword <literal>options</literal> not <literal>option</literal>.
</para>
</para>
</listitem>
</listitem>
</varlistentry>
</varlistentry>
@ -945,11 +949,31 @@ kern.ipc.semmnu=256
</term>
</term>
<listitem>
<listitem>
<para>
<para>
The options <varname>SYSVSHM</varname> and <varname>SYSVSEM</varname> need
In <systemitem class="osname">OpenBSD</systemitem> 3.3 and later,
to be enabled when the kernel is compiled. (They are by
IPC parameters can be adjusted using <command>sysctl</command>,
default.) The maximum size of shared memory is determined by
for example:
the option <varname>SHMMAXPGS</varname> (in pages). The following
<screen>
shows an example of how to set the various parameters:
<prompt>#</prompt> <userinput>sysctl kern.seminfo.semmni=100</userinput>
</screen>
To make these settings persist over reboots, modify
<filename>/etc/sysctl.conf</filename>.
</para>
<para>
You will usually want to
increase <literal>kern.seminfo.semmni</literal>
and <literal>kern.seminfo.semmns</literal>,
as <systemitem class="osname">OpenBSD</systemitem>'s default settings
for these are uncomfortably small.
</para>
<para>
In older <systemitem class="osname">OpenBSD</systemitem> versions,
you will need to build a custom kernel to change the IPC parameters.
Make sure that the options <varname>SYSVSHM</varname>
and <varname>SYSVSEM</varname> are enabled, too. (They are by
default.) The following shows an example of how to set the various
parameters in the kernel configuration file:
<programlisting>
<programlisting>
option SYSVSHM
option SYSVSHM
option SHMMAXPGS=4096
option SHMMAXPGS=4096