shared_buffers

Sets the amount of memory a Greenplum Database segment instance uses for shared memory buffers. This setting must be at least 128KB and at least 16KB times max_connections.

Each Greenplum Database segment instance calculates and attempts to allocate certain amount of shared memory based on the segment configuration. The value of shared_buffers is significant portion of this shared memory calculation, but is not all it. When setting shared_buffers, the values for the operating system parameters SHMMAX or SHMALL might also need to be adjusted.

The operating system parameter SHMMAX specifies maximum size of a single shared memory allocation. The value of SHMMAX must be greater than this value:
 shared_buffers + other_seg_shmem
The value of other_seg_shmem is the portion the Greenplum Database shared memory calculation that is not accounted for by the shared_buffers value. The other_seg_shmem value will vary based on the segment configuration.

With the default Greenplum Database parameter values, the value for other_seg_shmem is approximately 111MB for Greenplum Database segments and approximately 79MB for the Greenplum Database master.

The operating system parameter SHMALL specifies the maximum amount of shared memory on the host. The value of SHMALL must be greater than this value:
 (num_instances_per_host * ( shared_buffers + other_seg_shmem )) + other_app_shared_mem 
The value of other_app_shared_mem is the amount of shared memory that is used by other applications and processes on the host.

When shared memory allocation errors occur, possible ways to resolve shared memory allocation issues are to increase SHMMAX or SHMALL, or decrease shared_buffers or max_connections.

See the Greenplum Database Installation Guide for information about the Greenplum Database values for the parameters SHMMAX and SHMALL.

Value Range Default Set Classifications
integer > 16K * max_connections 125MB local

system

restart