kafka消费者内存一直上涨
kafka消费者内存一直上涨简介:spring-kafka 版本:1.3.4.RELEASE
消费者三台机器(每台内存不到8G),消费10几个topic,每个topic 3个分区 为什么内存一直上升,不释放解决方法:[标签:标
spring-kafka 版本:1.3.4.RELEASE
消费者三台机器(每台内存不到8G),消费10几个topic,每个topic 3个分区
为什么内存一直上升,不释放
解决方法:遇到这种情况难道不应该用jmap,jstat等工具进行分析么?
回复 @Allen吴 : 内存猛增的最后结果是啥,OOM ?回复 @Allen吴 : 多大流量啊,几台机器消费啊回复 @Allen吴 : 看是full gc还是young gc。young gc的话通过扩内存,扩展消费并行度,即多加几个机器一起消费来解决,full gc多说明有大对象,或内存泄漏,对了,KafkaConsumer不正常close会内存泄漏分析了,感觉是内存释放跟不上消费的速度大多数这种情况,都是自己业务代码有坑
代码中也在不断的把一些大对象设置为null,还是稳步上升发的太猛了吧,我之前也遇到过,改了过期时间,设置得很小了,内存还是一直不断向上增长,后来放弃了这个,使用其他方案
回复 @Allen吴 : 之前我做的是视频分析,一个解码一个进行推理,解码的速度基本上是每秒25帧左右,我把每一帧图像进行发布,推理这一端订阅接受,初步判断是接受不过来,解码停了二十几秒,这边还在接受,后来我没有尝试了,直接把解码和推理合并在一个项目里面了,另外有一个朋友尝试用redis好像据说也可以订阅发布,但是也有相同的问题,如果不是非要使用分布式没得必要使用像kafka和redis这样的东西topic里都是业务线的一些异常日志,很多都是堆栈异常信息,是不是内存的释放赶不上消费的速度,是否有必要扩大分区,增加消费者,内存是否要加。还有你使用了其他什么方案。引用来自“纳兰清风”的评论
遇到这种情况难道不应该用jmap,jstat等工具进行分析么?
感觉还好啊,也没有full gc,ygc也没有很高,很健康的jvm状态。一些push类型的MQ,都有prefetch特性,就是broker会多push一些msg给consumer,来提高吞吐量,这些在consumer端还没来得及处理的msg就占用consumer的内存。
但Kafka是pull类型的MQ,你看看会不会是类似的问题,kakfa为了提高吞吐量有没有相关设置。
本文用户投稿或网站收集转载,如有侵权请联系本站。
相关文章
推荐文章
什么是“元宇宙”,跟数据库会有什么关系吗?
技术知识2022-02-23thymeleaf select问题
技术知识2022-02-23java中参数为泛型的方法,如何返回List?
技术知识2022-02-23mysql分表后需求需要连表查询并分页显示,怎么实现这种需求?
技术知识2022-02-23添加knife4j配置后项目启动报错
技术知识2022-02-23oauth2密码模式 请求方式可以修改吗
技术知识2022-02-23java中,如何根据一个class名称,查找对应的maven依赖
技术知识2022-02-23vlc lib获取网络视频播放信息,包括视频和音频编码信息、时长、分辨率等出现异常,部分不可用
技术知识2022-02-23小程序开发
技术知识2022-02-23jfinal的 keepPara返回页面后无法保存用户输入的信息
技术知识2022-02-23