Kafka 中的垃圾收集器是如何工作的?

How does garbage collector work in Kafka?

我正在学习 Kafka 并遇到了 Kafka 中的垃圾收集器选项。

MaxGCPauseMillisInitiatingHeapOccupancyPercent (我的问题不是关于这些选项。)

我想知道基本的算法逻辑,或者行为) Kafka 中的垃圾收集。它可能很宽泛,但是关于它在 Kafka 中如何工作的一般概念可以给我很多见解。感谢任何答案或信息,这将导致无条件的支持并帮助像我这样的人。

official Kafka documentations 中有一节提到 LinkedIn 目前是 运行 JDK 1.8 并使用 G1GC。
他们还展示了他们的配置:

-Xmx6g -Xms6g -XX:MetaspaceSize=96m -XX:+UseG1GC
-XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M
-XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80

如果您想了解更多有关为 Kafka 调优 G1GC 的信息,我建议您阅读“Kafka:权威指南中的relevant section ]" 书,他们在其中谈论您提到的两个参数 - MaxGCPauseMillisInitiatingHeapOccupancyPercent

别忘了阅读 JVM Monitoring chapter,您可以通过监控 JVM 学到很多东西。