diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index fdb3581412..099dd323cd 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ @@ -1449,7 +1449,7 @@ env PGOPTIONS='-c geqo=off' psql SHMMAX Maximum size of shared memory segment (bytes) - 512 kB + 8192 * buffers + extra ... infinity + 700 kB + 8192 * buffers + extra ... infinity @@ -1458,6 +1458,12 @@ env PGOPTIONS='-c geqo=off' psql 1 (at most about 256 kB) + + SHMALL + Total amount of shared memory available (bytes or pages) + if bytes, same as SHMMAX; if pages, ceil(SHMMAX/PAGE_SIZE) + + SHMSEG Maximum number of shared memory segments per process @@ -1588,42 +1594,37 @@ env PGOPTIONS='-c geqo=off' psql 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: + + To increase the number of shared buffers supported by the + postmaster, add the following to your kernel config file. A + SHMALL value of 1024 represents 4MB of shared + memory. The following increases the maximum shared memory area + to 32 MB: -#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) */ - - - To increase the number of buffers supported by the postmaster, add the - following to your kernel config file. A SHMALL value of 1024 - represents 4MB of shared memory. Increase it accordingly: - -options "SHMALL=4096" +options "SHMALL=8192" options "SHMMAX=\(SHMALL*PAGE_SIZE\)" - For those running 4.1 or later, just recompile the kernel and - reboot. For those running earlier releases, use - bpatch to find the sysptsize value - for the current kernel. This is computed dynamically at - bootup. + For those running 4.1 or later, just make the above changes, + recompile the kernel, and reboot. For those running earlier + releases, use bpatch to find the + sysptsize value in 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 4 MB of + Next, add SYSPTSIZE as a hard-coded value in the + kernel config file. Increase the value you found using + bpatch. Add 1 for every additional 4 MB of shared memory you desire. -options "SYSPTSIZE=13" +options "SYSPTSIZE=16" - sysptsize can not be changed by sysctl on the fly. + sysptsize can not be changed by sysctl. @@ -1635,17 +1636,6 @@ options "SYSPTSIZE=13" - - The defaults are in /sys/sys/sem.h: - -#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 */ - Set the values you want in your kernel config file, e.g.: options "SEMMNI=40"