Обсуждение: Instructions for FreeBSD ipc config showing age

Поиск
Список
Период
Сортировка

Instructions for FreeBSD ipc config showing age

От
Mark Kirkwood
Дата:
A recent mailing on the -perf list highlighted that the docs concerning
ipc configuration are a bit out for date for FreeBSD.

The attached patch separates out FreeBSD from Open/NetBSD, and shows how
to change settings via sysctl w/o a kernel rebuild. Any thoughts?

BTW I suspect that both Open and NetBSD are in need of an update too,
however I don't have any installations of such to experiment on.

regards

Mark

--- runtime.sgml.orig    Sat Jan 29 18:30:50 2005
+++ runtime.sgml    Mon Jan 31 22:30:35 2005
@@ -4350,10 +4350,8 @@


      <varlistentry>
-      <term><systemitem class="osname">FreeBSD</></term>
       <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 +4362,66 @@
         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
         memory into RAM and prevent it from being paged out to swap.
         Use the <command>sysctl</> setting
         <literal>kern.ipc.shm_use_phys</>.
+       </para>
+      </listitem>
+     </varlistentry>
+
+
+     <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>
+        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>
       </listitem>
      </varlistentry>


Re: Instructions for FreeBSD ipc config showing age

От
Tom Lane
Дата:
Mark Kirkwood <markir@coretech.co.nz> writes:
> A recent mailing on the -perf list highlighted that the docs concerning
> ipc configuration are a bit out for date for FreeBSD.
> The attached patch separates out FreeBSD from Open/NetBSD, and shows how
> to change settings via sysctl w/o a kernel rebuild. Any thoughts?

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".

Also, alphabetization would suggest putting the FreeBSD entry before the
other two, not after, so maybe that should be "see below".

            regards, tom lane

Re: Instructions for FreeBSD ipc config showing age

От
Mark Kirkwood
Дата:
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