This assumes you have analyzed a native_stderr.log in Garbage Collection and Memory Visualizer, and one of the tuning recommedations is:
# global garbage collects took on average ###% longer than the average nursery collect. If you believe this is abnormally high and unacceptable, consider using the Balanced GC policy for applications deployed on a 64-bit platform with a heap size greater than 4GB.
The recommendation here is to consider using the Balanced GC policy if the platform is 64-bit and the heap size is greater than 4 GB.
If the cell is 64-bit and the max heap is 4 GB, then determine the current policy. This can be seen on the Report tab. In this example, the policy is gencon (generational concurrent policy). gencon is the default policy. If the policy is something other than gencon, this probably implies that the policy was changes as part of some prior effort to resolve a garbage collection issue. Note that the gencon policy tends to require more heap than other policies. Changing the policy can be quite impactful. I have seen policy changes resolve Out Of Memory exceptions.
Here is an IBM article that talks about things to consider when contemplating switching from gencon to balanced: https://www.ibm.com/support/knowledgecenter/en/SSYKE2_7.0.0/com.ibm.java.lnx.70.doc/diag/understanding/mm_gc_balanced_when.html.
The GC policy can be changed in the WebSphere admin console by navigating to Servers > Server Types > your_JVM > Java and Process Management > Java Virtual Machines. Set the -Xgcpolicy to balanced, and then restart the JVM for this change to take effect.
Did you find this article helpful?
If so, consider buying me a coffee over at