|
| 1 | +This outlines how to increase the number of shared memory buffers |
| 2 | +supported by BSD/OS. By default, only 4MB of shared memory is supported |
| 3 | +by BSDI. |
| 4 | + |
| 5 | +Keep in mind that shared memory is not pageable. It is locked in RAM. |
| 6 | + |
| 7 | +Bruce Momjian (pgman@candle.pha.pa.us) |
| 8 | + |
| 9 | +--------------------------------------------------------------------------- |
| 10 | + |
| 11 | +Increase SHMMAXPGS by 1024 for every additional 4MB of shared |
| 12 | +memory: |
| 13 | + |
| 14 | +/sys/sys/shm.h:69:#define SHMMAXPGS 1024 /* max hardware pages... |
| 15 | + |
| 16 | +The default setting of 1024 is for a maximum of 4MB of shared memory. |
| 17 | + |
| 18 | +For those running 4.1 or later, just recompile the kernel and reboot. |
| 19 | +For those running earlier releases, there are more steps outlined below. |
| 20 | + |
| 21 | +--------------------------------------------------------------------------- |
| 22 | + |
| 23 | +Use bpatch to find the sysptsize value for the current kernel. |
| 24 | +This is computed dynamically at bootup. |
| 25 | + |
| 26 | +$ bpatch -r sysptsize |
| 27 | +0x9 = 9 |
| 28 | + |
| 29 | +Next, change SYSPTSIZE to a hard-coded value. Use the bpatch value, |
| 30 | +plus add 1 for every additional 4MB of shared memory you desire. |
| 31 | + |
| 32 | +/sys/i386/i386/i386_param.c:28:#define SYSPTSIZE 0 /* dynamically... |
| 33 | + |
| 34 | +sysptsize can not be changed by sysctl on the fly. |