Thread: Update for SHMALL

Update for SHMALL

From
Bruce Momjian
Date:
Seems there was no mention of SHMALL in the SGML shared memory table.  I
have added it, and removed the BSD/OS listing of the shared memory and
semaphore parameters.  Not needed anymore.

Patch attached.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Index: doc/src/sgml/runtime.sgml
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/runtime.sgml,v
retrieving revision 1.59
diff -c -r1.59 runtime.sgml
*** doc/src/sgml/runtime.sgml    2001/05/01 03:00:28    1.59
--- doc/src/sgml/runtime.sgml    2001/05/02 16:58:24
***************
*** 1449,1455 ****
        <row>
         <entry><varname>SHMMAX</></>
         <entry>Maximum size of shared memory segment (bytes)</>
!        <entry>512 kB + 8192 * buffers + extra ... infinity</entry>
        </row>

        <row>
--- 1449,1455 ----
        <row>
         <entry><varname>SHMMAX</></>
         <entry>Maximum size of shared memory segment (bytes)</>
!        <entry>700 kB + 8192 * buffers + extra ... infinity</entry>
        </row>

        <row>
***************
*** 1459,1464 ****
--- 1459,1470 ----
        </row>

        <row>
+        <entry><varname>SHMALL</></>
+        <entry>Total amount of shared memory available (bytes or pages)</>
+        <entry>if bytes, same as SHMMAX; if pages, ceil(SHMMAX/PAGE_SIZE)</>
+       </row>
+
+       <row>
         <entry><varname>SHMSEG</></>
         <entry>Maximum number of shared memory segments per process</>
         <entry>only 1 segment is needed, but the default is much higher</>
***************
*** 1588,1629 ****
          <para>
           By default, only 4 MB of shared memory is supported. Keep in
           mind that shared memory is not pageable; it is locked in RAM.
!      The shared memory parameters are:
! <programlisting>
! #define SHMMAX        /* max shared memory segment size (bytes) */
! #define SHMMIN        /* min shared memory segment size (bytes) */
! #define SHMMNI        /* max number of shared memory identifiers */
! #define SHMSEG        /* max shared memory segments per process */
! #define SHMALL        /* max amount of shared memory (pages) */
! </programlisting>
!
!      To increase the number of buffers supported by the postmaster, add the
!      following to your kernel config file.  A <varname>SHMALL</> value of 1024
!      represents 4MB of shared memory.  Increase it accordingly:
  <programlisting>
! options "SHMALL=4096"
  options "SHMMAX=\(SHMALL*PAGE_SIZE\)"
  </programlisting>
          </para>
         </formalpara>

         <para>
!         For those running 4.1 or later, just recompile the kernel and
!         reboot. For those running earlier releases, use
!         <application>bpatch</> to find the <varname>sysptsize</> value
!         for the current kernel. This is computed dynamically at
!         bootup.
  <screen>
  $ <userinput>bpatch -r sysptsize</>
  <computeroutput>0x9 = 9</>
  </screen>
!         Next, change <varname>SYSPTSIZE</> to a hard-coded value. Use
!         the bpatch value, plus add 1 for every additional 4 MB of
          shared memory you desire.
  <programlisting>
! options "SYSPTSIZE=13"
  </programlisting>
!         <varname>sysptsize</> can not be changed by sysctl on the fly.
         </para>

         <formalpara>
--- 1594,1630 ----
          <para>
           By default, only 4 MB of shared memory is supported. Keep in
           mind that shared memory is not pageable; it is locked in RAM.
!
!      To increase the number of shared buffers supported by the
!      postmaster, add the following to your kernel config file. A
!      <varname>SHMALL</> value of 1024 represents 4MB of shared
!      memory. The following increases the maximum shared memory area
!      to 32 MB:
  <programlisting>
! options "SHMALL=8192"
  options "SHMMAX=\(SHMALL*PAGE_SIZE\)"
  </programlisting>
          </para>
         </formalpara>

         <para>
!         For those running 4.1 or later, just make the above changes,
!         recompile the kernel, and reboot. For those running earlier
!         releases, use <application>bpatch</> to find the
!         <varname>sysptsize</> value in the current kernel. This is
!         computed dynamically at bootup.
  <screen>
  $ <userinput>bpatch -r sysptsize</>
  <computeroutput>0x9 = 9</>
  </screen>
!         Next, add <varname>SYSPTSIZE</> as a hard-coded value in the
!         kernel config file. Increase the value you found using
!         <application>bpatch</>. Add 1 for every additional 4 MB of
          shared memory you desire.
  <programlisting>
! options "SYSPTSIZE=16"
  </programlisting>
!         <varname>sysptsize</> can not be changed by sysctl.
         </para>

         <formalpara>
***************
*** 1635,1651 ****
          </para>
         </formalpara>

-        <para>
-         The defaults are in <filename>/sys/sys/sem.h</>:
- <programlisting>
- #define SEMMNI  10              /* # of semaphore identifiers */
-
- #define SEMMNS  60              /* # of semaphores in system */
-
- #define SEMUME  10              /* max # of undo entries per process */
-
- #define SEMMNU  30              /* # of undo structures in system */
- </programlisting>
          Set the values you want in your kernel config file, e.g.:
  <programlisting>
  options "SEMMNI=40"
--- 1636,1641 ----

Re: Update for SHMALL

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> Seems there was no mention of SHMALL in the SGML shared memory table.

It's not one of the standard parameters.  But it does tend to exist.

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter


Re: Update for SHMALL

From
Bruce Momjian
Date:
> Bruce Momjian writes:
>
> > Seems there was no mention of SHMALL in the SGML shared memory table.
>
> It's not one of the standard parameters.  But it does tend to exist.

Yes, I noticed that.  Seems most of the OS's mentioned below had it, so
I threw it in so people making changes on those OS's would know about
it.  Sometimes it is pages, sometimes bytes.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026