Memory Calculator

Why do you need this calculator?

Greenplum Memory Calculator estimates the best virtual memory settings based on existing large scale deployments. The Linux kernel is very good at optimizing its own memory, but we still have to make sure not to over-allocate GPDB memory resulting in out of memory events. This calculator helps the user reserve a conservative amount of memory for kernel while maximizing the amount of memory used by GPDB.

(i) sourced from command output 'free -g'
(i) sourced from command output 'free -g'
(i) Total number of SOLR processes running on a single server
(i) This should be the numeric value used for GPTEXT JVM option -XmxM which defaults to -Xmx2048M
(i) The sum of other third party services running on the system that is not accounted for in this form
(i) Number of primary you expect to run on a single segment server. Also remember to account for failed mirrors if applicable

Recommended Max Settings

Value is in MB and configured in postgresql.conf which is controlled by the gpconfig command

Value is a percentage and configured in /etc/sysctl.conf


Choose the value for Primary Segments Per Node based on your mirroring strategy. See GDPB Documentation for more information on group and spread mirroring strategies:

  • Given a configuration of 6 primaries and 6 mirrors we should set Primary Segments Per Node to 6+6=12 when using group mirroring
  • Using the same configuration example for spread mirroring the value would be 6+2=8
For more information on memory, please refer to the Greenplum Database Memory Overview.