JVM Tuning

Java Performance Tuning

This white paper presents the basics of Java Performance Tuning and its preferred values for large deployments of Application Servers



Need to optimize the performance of JVM and it's garbage collection handling.



We don't specify any policy in the JVM parameters of launcher.properties file so the default policy of JVM is picked. So below are the parameters that you need to add in Kernel JVM parameters.

Below are the parameters that we are going to add and couple of the options require a computation which is enclosed in angle brackets (<>), of which two depend on the number of CPU(core) on the machine (#CPU).

Enable the concurrent low pause collector


Use parallel threads


-XX:ParallelGCThreads=<#CPU < 8 ? #CPU : 3 + ((5 * #CPU) / 8) >


Size young generation for short pauses


-XX:MaxNewSize=< 4m * ParallelGCThreads >

Promote all live young generation objects

-XX: MaxTenuringThreshold=0


Unload classes from PermSpace




-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=8 -XX:+CMSParallelRemarkEnabled -XX:NewSize=4m -XX:MaxNewSize=24m -XX:MaxTenuringThreshold=0 -XX:SurvivorRatio=1024  -XX:+CMSClassUnloadingEnabled




Restart Adeptia services after making changes in launcher.properties file.


Have more questions? Submit a request


Article is closed for comments.