【发布时间】:2019-04-09 03:11:45
【问题描述】:
我有一个 Kafka Streams 应用程序在多个 JVM(总共 5 个)上运行以提高吞吐量。它运行了一个小时左右,然后,除了最后一个之外,每个 JVM 都开始一个接一个地崩溃。在我的代码中随机崩溃,没有异常。当我查看核心转储时,它说:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f939eb57255, pid=9669, tid=0x00007f93883f3700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_131-b11) (build 1.8.0_131-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.131-b11 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V [libjvm.so+0x5c5255] G1ParScanThreadState::copy_to_survivor_space(InCSetState, oopDesc*, markOopDesc*)+0x45
我无法将此错误与我的代码关联起来。
【问题讨论】:
-
看起来像 G1 收集器中的错误。可以试试 Java 8 的最新更新吗?
-
如果这没有帮助,我会尝试使用 CMS 收集器。
-
谢谢,我们会尽快回复您。
-
Btw Chronicle Queue 可能可以用一个线程处理您的负载,并且几乎没有 GC(我写的)
标签: java apache-kafka garbage-collection apache-kafka-streams g1gc