Memory leaks 卡夫卡内存泄漏
我们使用Kafka构建了一个数据摄取管道。我们有一个消费者,他不断地从卡夫卡主题中读取内容并写入数据库。这些消费者吊舱遇到OOM事件问题。我们在K8上运行卡夫卡 我们现在看到,由于OOM错误,消费者吊舱每4-5天重新启动一次。我们正在使用卡夫卡java库的卡夫卡2.2版本 编译组:“org.apache.kafka”,名称:“kafka_2.12”,版本:“2.2.0” 编译组:“org.apache.kafka”,名称:“kafka客户端”,版本:“2.2.0” 以下是pod内jvm的统计信息:Memory leaks 卡夫卡内存泄漏,memory-leaks,apache-kafka,kafka-consumer-api,metrics,Memory Leaks,Apache Kafka,Kafka Consumer Api,Metrics,我们使用Kafka构建了一个数据摄取管道。我们有一个消费者,他不断地从卡夫卡主题中读取内容并写入数据库。这些消费者吊舱遇到OOM事件问题。我们在K8上运行卡夫卡 我们现在看到,由于OOM错误,消费者吊舱每4-5天重新启动一次。我们正在使用卡夫卡java库的卡夫卡2.2版本 编译组:“org.apache.kafka”,名称:“kafka_2.12”,版本:“2.2.0” 编译组:“org.apache.kafka”,名称:“kafka客户端”,版本:“2.2.0” 以下是pod内jvm的统计信息
15: 6075 145800 org.apache.kafka.common.requests.ApiVersionsResponse$ApiVersion
16: 4030 128960 org.apache.kafka.common.MetricName
17: 4030 128960 org.apache.kafka.common.metrics.KafkaMetric
22: 1672 80256 org.apache.kafka.common.metrics.stats.SampledStat$Sample
24: 1174 75136 org.apache.kafka.common.metrics.Sensor
27: 1261 40352 org.apache.kafka.common.metrics.stats.Meter
29: 1291 30984 org.apache.kafka.common.metrics.stats.Total
30: 1261 30264 org.apache.kafka.common.metrics.stats.Rate
32: 849 27168 org.apache.kafka.common.MetricNameTemplate
35: 975 23400 org.apache.kafka.common.protocol.types.BoundField
/ # jcmd {app}.jar GC.class_histogram | head
num #instances #bytes class name
----------------------------------------------
1: 1828 5264368 [B
2: 33683 2949528 [C
3: 7422 832008 java.lang.Class
4: 33674 808176 java.lang.String
5: 10990 764272 [Ljava.lang.Object;
6: 23875 764000 java.util.HashMap$Node
当我开始分析堆转储时,我认为问题在于KafkaAdminClient线程,这些线程在JVM上是100年代打开的,从未关闭过。我把它们关好,然后试着看看那堆东西。我仍然看到问题依然存在
我能知道卡夫卡的什么操作产生了上述类吗?是consumer.poll()还是后台运行状况检查或其他内容
任何指向正确方向的指针都会大有帮助。我已经坚持了一个多星期了。我尝试了许多不同的堆转储分析器。它们都指向JMX和NIO类
以下是来自Eclipse MAT的一份泄漏可疑报告:
由“”加载的“com.sun.jmx.mbeanserver.JmxMBeanServer”的一个实例占用61571856(36.76%)字节。该实例由org.apache.commons.dbcp2.PoolableConnection@0xf0647668引用,由“sun.misc.Launcher$AppClassLoader@0xf09a3bd8”加载。内存累积在“”加载的“java.util.HashMap$Node[]”的一个实例中。
及
sun.nio.ch.EPollArrayWrapper```