You might need to increase the JVM (Java Virtual Machine) memory allocated to Java services or ActiveMQ to improve performance in your Puppet Enterprise deployment.
See Tuning monolithic installations for recommended settings based on various monolithic installation sizes.
The Java heap size is the JVM (Java Virtual Machine) memory allocated to Java services in Puppet Enterprise (PE). Make changes to the Java heap size for PE console services, Puppet Server, orchestration services, or PuppetDB in the PE console.
Note: Ensure that you have sufficient free memory before increasing the memory that is used by a PE service. The increases shown below are only examples.
In the console, click Classification. In the PE Infrastructure node group, select the appropriate node group.
|Puppet Server||PE Master||
|ActiveMQ||PE ActiveMQ Broker||
Click Classes and scroll down to the appropriate class.
Click the Parameter name drop-down list and select
java_args. Increase the heap size by replacing the parameter with the appropriate JSON string.
|Service||Default heap size||New heap size||JSON string|
|pe-console-services||256 MB||512 MB||
|Puppet Server||2 GB||4 GB||
|orchestration-services||192 MB||1000 MB||
|PuppetDB||256 MB||512 MB||
|ActiveMQ||512 MB||1024 MB||
Click Add Parameter and then click the commit button.
Run Puppet on the appropriate nodes to apply the change. If you’re running it on the console node, the console will be unavailable briefly while
|Puppet Server||Puppet master and compile masters|
ActiveMQ uses a default heap size of 512 MB, but you can increase this as needed.
This is the best value for mid-sized deployments, but can be a problem when building small proof-of-concept deployments on memory-starved VMs. This example provides instructions on increasing the heap size to 1024 MB.
Note: Ensure that you have sufficient free memory before increasing the memory that is used by ActiveMQ. The increase shown below is only an example.
To increase the ActiveMQ heap size:
heap_mb, and in the value field, add a new heap size of 1024.
puppet agent -tto start a Puppet run and apply the change.
Java garbage collection (GC) logs can be useful when diagnosing performance issues with JVM-based PE services. GC logs are enabled by default in PE, and the results are captured in the support script, but you can disable them if you need to.
Disable GC logging by editing your Hiera default
.yaml file. Add any of the following parameters as needed.
puppet_enterprise::console_services::enable_gc_logging: false puppet_enterprise::master::puppetserver::enable_gc_logging: false puppet_enterprise::profile::orchestrator::enable_gc_logging: false puppet_enterprise::puppetdb::enable_gc_logging: false puppet_enterprise::profile::amq::broker::enable_gc_logging: false