Subject: Re: [DOCS] Instructions for FreeBSD ipc config showing age
From: Mark Kirkwood <[email-masked]>
To: Tom Lane <[email-masked]>
Cc: [email-masked]
Date: Tue, 01 Feb 2005 14:29:39 +1300

Tom Lane wrote:
>
> 
> This seems a bit awkwardly phrased:
> 
> 
>>+       <para>
>>+        Versions before 4.0 will require a kernel rebuild, see the
>>+        <systemitem class="osname">NetBSD</> and <systemitem
>>+        class="osname">OpenBSD</> instructions above, however the key word is 
>>+        <literal>options</literal> (plural) in this case.
>>        </para>
> 
> 
> Perhaps
> 
> 	FreeBSD versions before 4.0 work like NetBSD and OpenBSD (see above),
> 	except that the configuration file uses the key word "options"
> 	instead of "option".
> 
Yeah - much nicer.
> Also, alphabetization would suggest putting the FreeBSD entry before the
> other two, not after, so maybe that should be "see below".
Thanks - had not considered that!

Amended patch attached.

regards

Mark

--- runtime.sgml.orig	Sat Jan 29 18:30:50 2005
+++ runtime.sgml	Tue Feb  1 14:25:53 2005
@@ -4351,9 +4351,51 @@
 
      <varlistentry>
       <term><systemitem class="osname">FreeBSD</></term>
+      <indexterm><primary>FreeBSD</><secondary>IPC configuration</></>
+      <listitem>
+       <para>
+        The default settings are only suitable for small installations 
+        (default <varname>SHMMAX</varname> is 32 MB). Changes can be made via
+        the <command>sysctl</command> or <command>loader</command> interfaces.
+        Firstly the ones that are settable 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>
+        These to be saved between reboots in <filename>/etc/sysctl.conf.
+       </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.
+        Use the <command>sysctl</> setting
+        <literal>kern.ipc.shm_use_phys</>.
+       </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 
+        key word "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,19 +4406,16 @@
         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
+option         SYSVSHM
+option         SHMMAXPGS=4096
+option         SHMSEG=256
 
-options         SYSVSEM
-options         SEMMNI=256
-options         SEMMNS=512
-options         SEMMNU=256
-options         SEMMAP=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

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings