I'm interested in information from those with experience tuning Java to provide the best possible performance when supplied with two physical CPUs, 16 physical cores each (total of 32 physical cores) and 32 virtual cores (total of 64 cores) and 64 Gb of RAM. Answers should focus on which JVM provides the required CPU support (SIMD/HyperThreading etc) as well as any GC strategies employed to support such an environment.
Currently we're testing with OpenJDK 1.8 and the following GC options: -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5.
- Would Oracle JDK provide better support than OpenJDK?
- Are there alternative JDK/JVM options to consider?
- Is there a better alternative to
G1GC?
G1GCcollector and the posted options in the original question with Oracle JDK 8.