根据 IBM 链接(https://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/openj9/xgcpolicy/index.html),可以通过 -Xgcpolicy 设置来指定 gc 策略。默认 gcpolicy 是 gencon (-Xgcpolicy:gencon)。WAS 是 9.0,JVM 是 IBM J9(Java 版本 1.8)。接下来,从 IBM 的以下链接看来,使用标志 -XX 也可以设置 gc 算法,就像在其他 JVM 中一样。例如:-XX:+UseG1GC 可以工作。 https://www.ibm.com/support/knowledgecenter/en/SS3KLZ/com.ibm.java.diagnostics.visualizer.doc/verbosegc.html
我的意图是应用像 UseG1GC 这样的 gc 行为。堆大小为 -Xms16G 到 -Xmx20G。所以,我希望首先使用 Garbase 和并发,即 UseG1GC。-Xgcpolicy:gencon 也有点类似,但它会导致“停止世界”。当 gc 运行时,应用程序会暂停。有点困惑的是,即使我设置了 -XX:+UseG1GC,它会遵循并有效 UseG1GC 行为还是遵循 -Xgcpolicy:gencon 的机制?还是 gcpolicy 和 gc 算法是两个不同的东西?