在分析应用程序的性能问题后,需要注意以下几点。
我试图收集有关G1的更多详细信息,但仍有一些问题没有答案。如果可以的话,请帮忙。
答案 0 :(得分:0)
关于第一个问题。作为G1的垃圾回收器实现背后的思想是最小化甚至避免执行完整的或主要的垃圾回收,因为这是一个世界停止事件,其复杂性会导致更长的暂停和CPU消耗。即使在使用吞吐量GC时,我也始终在尝试减少完整垃圾收集的数量,因此我想说,您的系统在不执行完整GC的情况下运行确实非常好。
此外,请记住,如果您使用的JDK版本低于10,则如我在本文中指出的那样,使用G1的Full GC的执行将仅使用一个线程。
顺便说一句,它似乎是Java(10)的最新版本,它将包含一个G1,该G1具有并行执行Full GC的能力。
关于第二个问题。使用次要GC清理内存,这就是为什么看到堆消耗减少的原因。
在此文档中,您可以找到有关G1的详细说明。
http://blog.sysco.no/files/guides/JVMGarbageCollectionV1.1.pdf
花花公子
答案 1 :(得分:0)