Thread: Managing Kernal resource
Name | Description | Reasonable Values |
---|---|---|
SHMMAX | Maximum size of shared memory segment (bytes) | 512 KB + 8192 * buffers + extra ... infinity |
"The most important shared memory parameter is SHMMAX, the maximum size, in bytes, that a shared memory segment can have. If you get an error message from shmget along the lines of Invalid argument, it is possible that this limit has been exceeded. The size of the required shared memory segments varies both with the number of requested buffers (-B option) and the number of allowed connections (-N option), although the former is the dominant item. (You can therefore, as a temporary solution, lower these settings to get rid of the failures.) As a rough approximation you can estimate the required segment size as the number of buffers times the block size (8192 KB by default) plus ample overhead (at least half a megabyte). All error messages will contain the size of the failed allocation request. "
"Ashish Karalkar" <ashish.karalkar@info-spectrum.com> writes: > As per documantation on : > http://www.redhat.com/docs/manuals/database/RHDB-7.1.3-Manual/admin_user/= > kernel-resources.html Why in the world are you consulting PG 7.1 documentation for help in managing an 8.2 installation? That manual is so obsolete as to be seriously misleading. > But I am not getting the count of number of buffres. > In postgres.conf file there is size of shared buffer. > shared_buffer=24 MB. So you need 24MB (plus some slop) SHMMAX. In any case, there's no harm in making SHMMAX big. Just set it to 100M or 1G and be done with it. regards, tom lane