Sets the amount of memory (in number of MBs) that all postgres processes of an active segment instance can consume. If a query causes this limit to be exceeded, memory will not be allocated and the query will fail.
Note that this is a local parameter and must be set for every segment in the system (primary and mirrors).
To prevent over allocation of memory, this calculation can estimate a gp_vmem_protect_limit value that is applicable in a wide variety of situations:
(SWAP + (RAM * vm.overcommit_ratio)) .9 /number_segments_per_server
For example, on a segment host with 8GB of swap space, 128GB physical memory, 8 primary segment instances, and a 10% buffer, the calculation would be:
(8 + (128 * .5) * .9 / 8 = 8GB = 8192MB
|Value Range||Default||Set Classifications|