]> granicus.if.org Git - postgresql/commitdiff
Improvements to documentation of shared memory configuration under
authorNeil Conway <neilc@samurai.com>
Thu, 10 Feb 2005 05:14:58 +0000 (05:14 +0000)
committerNeil Conway <neilc@samurai.com>
Thu, 10 Feb 2005 05:14:58 +0000 (05:14 +0000)
FreeBSD. From Mark Kirkwood, editorializing by Neil Conway.

doc/src/sgml/runtime.sgml

index fab4016faa8e41dff689b7d615456a186c57b9f7..94c03bb5496da6e19f851bac269bc862a05667d9 100644 (file)
@@ -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">
@@ -4351,9 +4351,55 @@ options "SEMMNS=240"
 
      <varlistentry>
       <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">OpenBSD</></term>
-      <indexterm><primary>FreeBSD</><secondary>IPC configuration</></>
       <indexterm><primary>NetBSD</><secondary>IPC configuration</></>
       <indexterm><primary>OpenBSD</><secondary>IPC configuration</></>
       <listitem>
@@ -4364,25 +4410,23 @@ options "SEMMNS=240"
         the option <varname>SHMMAXPGS</> (in pages). The following
         shows an example of how to set the various parameters:
 <programlisting>
-options         SYSVSHM
-options         SHMMAXPGS=4096
-options         SHMSEG=256
-
-options         SYSVSEM
-options         SEMMNI=256
-options         SEMMNS=512
-options         SEMMNU=256
-options         SEMMAP=256
+option         SYSVSHM
+option         SHMMAXPGS=4096
+option         SHMSEG=256
+
+option         SYSVSEM
+option         SEMMNI=256
+option         SEMMNS=512
+option         SEMMNU=256
+option         SEMMAP=256
 </programlisting>
-        (On <systemitem class="osname">NetBSD</> and <systemitem
-        class="osname">OpenBSD</> the key word is actually
-        <literal>option</literal> singular.)
        </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.
-        Use the <command>sysctl</> setting
-        <literal>kern.ipc.shm_use_phys</>.
+        This can be accomplished using the <command>sysctl</command>
+        setting <literal>kern.ipc.shm_use_phys</literal>.
        </para>
       </listitem>
      </varlistentry>
@@ -4589,7 +4633,6 @@ set semsys:seminfo_semmsl=32
      </varlistentry>
 
     </variablelist>
-
   </sect2>