Question & Answer
What is the JVM parameter “-Xmn” and what is the IBM recommendation for its application with IBM JDK?
Q: What is the -Xmn parameter?
Briefly, -Xmn decides the size of the young space in a JVM. When this parameter is not tuned, you may see some performance implications (for example, large spikes in the memory foot print).
For more information on -Xmn, refer to Tuning performance > Tuning the application serving environment > Tuning Java virtual machines
Q: Does IBM recommend any value for -Xmn with IBM JDK?
IBM does not provide a recommendation for -Xmn value if you are using IBM JDK. Note though that IBM recommends a -Xmn value for Sun HP-UX JDK.
For more information, refer to Heap Memory and Garbage Collection > Sun and HP-UX Generational Collectors
Q: What should be the value of -Xmn?
Even though IBM does not make any recommendations, IBM recommends a value of 1/4 of the total heap size for -Xmn.
Q: What is IBM's stance on this JVM parameter?
If IBM identifies some tuning parameters and opportunities during performance tests, then it makes those as recommendations in its Performance Management Guide. The reason for not making a recommendation on -Xmn is that IBM has not faced a problem (with IBM JDK). It is possible that the data spread and the transactions used in your solution would create a different scenario. In such scenarios, you can go with your own Administrator's recommendations. The Performance Management Guide explains this approach in the Your Mileage May Vary section.
16 June 2018