我正在使用G1GC来处理我的java应用程序。当使用G1GC(供应商:Oracle)的默认GC配置时,我几乎总是注意到非常高(在5秒到70秒之间的任何时间)Ref Proc
次,主要是在年轻一代疏散期间。
我知道我可以使用-XX:+ParallelRefProcEnabled
轻松修复它。我以为我可以相信JVM可以为我做一些琐碎的应用程序。我在这里缺少什么?
答案 0 :(得分:2)
可能是因为您的应用程序或其中一个依赖项使用终结器(直接字节缓冲区和一些IO /本机绑定对象)或软/弱/幻像引用并以高速率创建它们。
您可以尝试进行堆转储,并查看堆上是否存在可访问但不可访问的对象。