Re: shared memory - Mailing list pgsql-general

From Bruce Momjian
Subject Re: shared memory
Date
Msg-id 200006012025.QAA26036@candle.pha.pa.us
Whole thread Raw
In response to shared memory  ("John Henderson" <jrh@is.com.fj>)
List pgsql-general
OK, John, I think I have an answer for you.  It is not pretty.  You
actually got pretty close.

First, increase SHMMAXPGS by 1024 for every additional 4MB of shared
memory:

/sys/sys/shm.h:69:#define       SHMMAXPGS       1024    /* max hardware pages...

The default setting of 1024 is for a maximum of 4MB of shared memory.

Second, use bpatch to find the sysptsize value for the current kernel.
This is computed dynamically at bootup.

    $ bpatch -r sysptsize
    0x9 = 9

Next, change SYSPTSIZE to a hard-coded value.  Use the bpatch value,
plus add 1 for every additional 4MB of shared memory you desire.

/sys/i386/i386/i386_param.c:28:#define  SYSPTSIZE 0        /* dynamically...

sysptsize can not be changed by sysctl on the fly.

This should clearly be easier to do on BSDI.  I will add a BSDI FAQ for
PostgreSQL to cover this.  One downside is that shared memory is not
pageable.  It is locked in RAM.

Sorry I am getting to this so late.  I just finished my book.

--
  Bruce Momjian                        |  http://www.op.net/~candle
  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

pgsql-general by date:

Previous
From: Jerry Lynde
Date:
Subject: Re: Postmaster won't -HUP
Next
From: efinley@efinley.com (Elliot Finley)
Date:
Subject: Q: Truncated output