Modify JVM properties
The table below lists of useful Java Virtual Machine (JVM) properties you can add, remove, or change to achieve specific purposes.
| Changes | Comments |
|---|---|
Add -Dgroovy.use.classvalue=true, -Dgroovy.target.indy=true | Improve the Groovy engine for Bot Configurations. |
Remove -XX:PermSize, -XX:MaxPermSize, -XX:MaxNewSize=1400m, -XX:NewRatio=5, -XX:NewSize=1400m, -XX:SurvivorRatio=16 and change -Xms10G -Xmx18G to -Xms18G -Xmx18G | Replace parameters for Java 8 meta space. Note: From v10.3, Java 8 is deprecated and available only for backward compatibility. |
Add -XX:+HeapDumpOnOutOfMemoryError and -XX:HeapDumpPath=path | Create a heap dump upon a crash. |
Add -XX:+UseCompressedOops. If you have less than 32 GB heap. | The JVM property has a special setting that forces using the 32-bit index internally (read: pointers-like). This allows to address 4 294 967 295 objects * 8 bytes address => 32 GB of memory. (NOT to be confused with the 4GB address space for REAL pointers). It reduces the overall memory consumption with a potential positive impact on all caching levels. |
Add -XX:+UseG1GC and remove -XX:+CMSClassUnloadingEnabled, -XX:+UseConcMarkSweepGC | Improve garbage collection. |
Add -XX:+AggressiveOpts | Enables you to use aggressive performance optimization features expected to become default in upcoming releases. By default, this option is disabled, and experimental performance features are not used. |
For more information about JVM, refer to the Java documentation.