Memory Calculator

Why use the calculator?

GPDB virtual 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 ensure we do not overallocate 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.

 

For more information refer to GPDB documentation

 

 

 
(?) sourced from command output 'free -g'
(?) sourced from command output 'free -g'
(?) Total number of SOLR processes running on a single server
(?) This should be the numeric value used for GPTEXT JVM option -XmxM which defaults to -Xmx2048M
(?) The sum of other third party services running on the system that is not accounted for in this form
(?) 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

Performance Checker

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

Additional Notes:

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

Additional Notes:

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