aboutsummaryrefslogtreecommitdiff
path: root/doc/README.BSDI
blob: 0392f26ee7dd2dc0f633a4e5f6ccfe8f9327ecec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
This outlines how to increase the number of shared memory buffers
supported by BSD/OS.  By default, only 4MB of shared memory is supported
by BSDI.

Bruce Momjian (pgman@candle.pha.pa.us)

---------------------------------------------------------------------------

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.