我们在群集应用程序中遇到了一个特殊问题。在运行系统一段时间后,应用程序突然冻结,无法找到导致此问题的任何线索。
启用JVM热点日志后,我们会看到" ParallelGCFailedAllocation","撤销偏移"花了更多的时间。
请参阅附图,该图是通过解析热点日志并转换为csv绘制的。 该图表在某个时间显示" ParallelGCFailedAllocation","撤销偏差"是扣球,大约需要13秒,这是不正常的。 我们正试图找到导致它花费这么多时间的原因。
有谁知道如何调试此类问题?
环境详情:
32 core machine running in VMWare hypervisor.
Heap Size: 12GB
RHEL 7 with Open JDK 8
答案 0 :(得分:0)
从PrintSafepointStatistics输出,你没有安全点同步问题,实际上vm操作需要时间。
你可以禁用偏向锁定-XX:-UseBiasedLocking
并使用并发gc' s(CMS \ G1)而不是并行旧gc,这可能会帮助你减少暂停,但主要问题是坏的配置,也许还有代码/设计。
-XX:+TraceBiasedLocking