Improvements to documentation of shared memory configuration under
FreeBSD. From Mark Kirkwood, editorializing by Neil Conway.
This commit is contained in:
parent
280cae35aa
commit
cf1f6f98f2
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.303 2005/01/23 00:30:18 momjian Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.304 2005/02/10 05:14:58 neilc Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<chapter Id="runtime">
|
<chapter Id="runtime">
|
||||||
@ -4351,9 +4351,55 @@ options "SEMMNS=240"
|
|||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><systemitem class="osname">FreeBSD</></term>
|
<term><systemitem class="osname">FreeBSD</></term>
|
||||||
|
<indexterm><primary>FreeBSD</><secondary>IPC configuration</></>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The default settings are only suitable for small installations
|
||||||
|
(for example, default <varname>SHMMAX</varname> is 32
|
||||||
|
MB). Changes can be made via the <command>sysctl</command> or
|
||||||
|
<command>loader</command> interfaces. The following
|
||||||
|
parameters can be set using <command>sysctl</command>:
|
||||||
|
<screen>
|
||||||
|
<prompt>$</prompt> <userinput>systcl -w kern.ipc.shmall=32768</userinput>
|
||||||
|
<prompt>$</prompt> <userinput>systcl -w kern.ipc.shmmax=134217728</userinput>
|
||||||
|
<prompt>$</prompt> <userinput>systcl -w kern.ipc.semmap=256</userinput>
|
||||||
|
</screen>
|
||||||
|
To have these settings persist over reboots, modify
|
||||||
|
<filename>/etc/sysctl.conf</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The remaining sempahore settings are read-only as far as
|
||||||
|
<command>sysctl</command> is concerned, but can be changed
|
||||||
|
before boot using the <command>loader</command> prompt:
|
||||||
|
<screen>
|
||||||
|
<prompt>(loader)</prompt> <userinput>set kern.ipc.semmni=256</userinput>
|
||||||
|
<prompt>(loader)</prompt> <userinput>set kern.ipc.semmns=512</userinput>
|
||||||
|
<prompt>(loader)</prompt> <userinput>set kern.ipc.semmnu=256</userinput>
|
||||||
|
</screen>
|
||||||
|
Similarly these can be saved between reboots in
|
||||||
|
<filename>/boot/loader.conf</filename>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
You might also want to configure your kernel to lock shared
|
||||||
|
memory into RAM and prevent it from being paged out to swap.
|
||||||
|
This can be accomplished using the <command>sysctl</command>
|
||||||
|
setting <literal>kern.ipc.shm_use_phys</literal>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<systemitem class="osname">FreeBSD</> versions before 4.0 work like
|
||||||
|
<systemitem class="osname">NetBSD</> and <systemitem class="osname">
|
||||||
|
OpenBSD</> (see below), except that the configuration file uses the
|
||||||
|
keyword "options" instead of "option".
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
<term><systemitem class="osname">NetBSD</></term>
|
<term><systemitem class="osname">NetBSD</></term>
|
||||||
<term><systemitem class="osname">OpenBSD</></term>
|
<term><systemitem class="osname">OpenBSD</></term>
|
||||||
<indexterm><primary>FreeBSD</><secondary>IPC configuration</></>
|
|
||||||
<indexterm><primary>NetBSD</><secondary>IPC configuration</></>
|
<indexterm><primary>NetBSD</><secondary>IPC configuration</></>
|
||||||
<indexterm><primary>OpenBSD</><secondary>IPC configuration</></>
|
<indexterm><primary>OpenBSD</><secondary>IPC configuration</></>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -4364,25 +4410,23 @@ options "SEMMNS=240"
|
|||||||
the option <varname>SHMMAXPGS</> (in pages). The following
|
the option <varname>SHMMAXPGS</> (in pages). The following
|
||||||
shows an example of how to set the various parameters:
|
shows an example of how to set the various parameters:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
options SYSVSHM
|
option SYSVSHM
|
||||||
options SHMMAXPGS=4096
|
option SHMMAXPGS=4096
|
||||||
options SHMSEG=256
|
option SHMSEG=256
|
||||||
|
|
||||||
options SYSVSEM
|
option SYSVSEM
|
||||||
options SEMMNI=256
|
option SEMMNI=256
|
||||||
options SEMMNS=512
|
option SEMMNS=512
|
||||||
options SEMMNU=256
|
option SEMMNU=256
|
||||||
options SEMMAP=256
|
option SEMMAP=256
|
||||||
</programlisting>
|
</programlisting>
|
||||||
(On <systemitem class="osname">NetBSD</> and <systemitem
|
|
||||||
class="osname">OpenBSD</> the key word is actually
|
|
||||||
<literal>option</literal> singular.)
|
|
||||||
</para>
|
</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.
|
||||||
Use the <command>sysctl</> setting
|
This can be accomplished using the <command>sysctl</command>
|
||||||
<literal>kern.ipc.shm_use_phys</>.
|
setting <literal>kern.ipc.shm_use_phys</literal>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -4589,7 +4633,6 @@ set semsys:seminfo_semmsl=32
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user