在分析了应用程序的性能问题后,注意到以下几点。
我试着收集关于G1的更多细节,但仍然有一些问题没有得到回答。如果可以的话请帮忙。
发布于 2019-09-18 19:45:30
关于你的第一个问题。作为G1的垃圾收集器实现的思想是最小化甚至避免执行完整的或主要的垃圾回收,因为这是一个停止世界事件,其复杂性会产生更长的暂停和消耗CPU。即使当我使用吞吐量GC时,我也总是试图减少完全垃圾收集的数量,所以我要说,您的系统在没有执行完整GC的情况下运行是非常好的。
此外,请记住,如果您使用的JDK低于版本10,那么使用G1执行完整的GC将只使用一个线程,正如我在本文中指出的那样。
顺便说一句,它似乎是Java (10)的最新版本,它将包括一个具有并行执行完整G1功能的G1。
关于你的第二个问题。内存是使用次要GC清理的,这就是为什么您可以看到堆消耗减少的原因。
在本文档中,您可以找到关于G1的详细说明。
http://blog.sysco.no/files/guides/JVMGarbageCollectionV1.1.pdf
男子汉
发布于 2019-09-20 13:44:42
我提供了一些文档,其中解释了G1使用了一些称为混合集合的东西。
http://blog.sysco.no/files/guides/JVMGarbageCollectionV1.1.pdf

https://stackoverflow.com/questions/57991615
复制相似问题