【问题标题】:Kafka Streams - Application JVMs crashing randomlyKafka Streams - 应用程序 JVM 随机崩溃
【发布时间】: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


【解决方案1】:

基于 cmets,最好使用 Kafka 支持的最新 Java 版本,例如 Java 11(以及可选的 Scala 2.13)。

另外,您可以将垃圾收集器更改为 CMS 而不是 G1GC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多