Skip to main content

Memory Allocation Parameters

The Talend ESB start scripts define the JVM memory allocation parameters used for running Talend ESB.

JAVA_MIN_MEM. Determines the start size of the Java heap memory. Higher values may reduce garbage collection and improve performance. Corresponds to the JVM parameter -Xms.

JAVA_MAX_MEM. Determines the maximum size of the Java heap memory. Higher values may reduce garbage collection, improve performance and avoid "Out of memory" exceptions. Corresponds to the JVM parameter -Xmx.

JAVA_PERM_MEM. Determines the start size of permanent generation. This is a separate heap space that is normally not garbage collected. Java classes are loaded in permanent generation. Using Talend ESB many classes are loaded, specially when using security features and deploying multiple services to the same container. Increase if a "PermGen space" exception is thrown. Corresponds to the JVM parameter -XX:PermSize

JAVA_MAX_PERM_MEM. Determines the maximum size of permanent generation. This is a separate heap space that is normally not garbage collected. Increase if a "PermGen space" exception is thrown. Corresponds to the JVM parameter -XX:MaxPermSize

Additionally the following parameters are used as default to enable class unloading from permanent generation which reduces the overall permanent generation space usage: -XX:+CMSClassUnloadingEnabled and -XX:+UseConcMarkSweepGC.

Information noteWarning: If you set JAVA_OPTS yourself from outside or inside the <RuntimeContainerPath>/bin/setenv script you overwrite all default settings provided by karaf including the memory settings described above. This could be useful if you need additional options. On Linux/Solaris you can set DUMP_JAVA_OPTS=true in setenv to find out how karaf would set JAVA_OPTS so you can copy or adapt these settings to fit your requirements.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!