![](/img/trans.png)
[英]ERROR org.apache.kafka.common.utils.KafkaThread - Uncaught exception in thread 'kafka-producer-network-thread
[英]org.apache.kafka.common.network.Selector - Leading to OOM
所以我有一个 Java 服务,它在 while 循环中使用kafka-clients
sdk 从 Kafka 主题中获取。 在执行大约 3-5 分钟后,我在运行单个使用者时遇到了 OOM(内存不足)问题。
我捕获了一个 Heap Dump,它指向org.apache.kafka.common.network.Selector
持有分配的内存。 最终我得到GC overhead limit exceeded
错误。
我遵循以下两个资源但没有运气,因为我的问题似乎与 SSL 无关(我使用的是纯文本)。
以下是我的一些 kafka 属性:
connections.max.idle.ms = 540000
default.api.timeout.ms = 60000
enable.auto.commit = true
exclude.internal.topics = true
fetch.max.bytes = 52428800
fetch.max.wait.ms = 500
fetch.min.bytes = 1
max.partition.fetch.bytes = 20000000
max.poll.interval.ms = 30000
max.poll.records = 1000
可能已经想通了:
当我的消费者连接到代理时,属性fetch.max.bytes
默认为52428800
,每批 52MB。
我的消费者每 100 毫秒轮询一次。 我假设这个频率,加上每个批次的大小,让垃圾收集器不堪重负。 我将此参数修改为更合理的数字,现在一切似乎都正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.