我们有一个几乎需要实时响应的 Java 应用程序。但我们也看到了长达 8 秒的停顿。
特殊运行条件:
我们正在观察的是,在这个大型序列化写入发生的间隔期间,如果 GC 偶然启动,它会导致 6 到 8 秒的巨大暂停,JVM 处于完全无响应/冻结状态。
从 JFR 记录可以看出,
来自 GC 日志:2018-09-05T18:23:40.277+0000: 39892.345:应用程序线程停止的总时间:8.3785112秒,停止线程花费:8.3765855 秒
Java 版本:java 版本“1.8.0_181”Java(TM) SE 运行时环境(构建 1.8.0_181-b25)Java HotSpot(TM) 64 位服务器 VM(构建 25.181-b25,混合模式)
问题:
JFR 文件:https : //www.filehosting.org/file/details/756217/Run.jfr