kafka Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded

桑代克 发表于: 2018-05-03   最后更新时间: 2018-05-03 09:31:52   2,835 游览

当并行发送消息数量过大会出现如题的错误,同时在出现错误前成功发送的消息速度也极慢,请问这是什么原因导致的?仅仅增大JVM的话,感觉若是以后消息数量更大还是会出现此问题,并不能完美解决。可以有什么更好的解决方案吗?

发表于 2018-05-03
添加评论

1、首先,溢出前,变的发送很慢,说明有资源枯竭。先监控系统,找到瓶颈点。(网络、cpu、内存、kafka阻塞慢)。
2、并发溢出,是多个方面引起的,首先,客户端发送消息到kafka之前,每个分区会缓存要发送的消息(分区数 x 缓存)。假设你的模拟消息制造者,消息即使没到kafka客户端缓存,那这部分消息在哪?也会占缓存。

你的答案

查看kafka相关的其他问题或提一个您自己的问题