我们有一个Kafka集群用于Kafka流应用程序。
几个小时后,我们的经纪人倒闭了,我们得到OutOfMemory
例外。
我们看到vm.max_map_count
是不够的,并且该过程的地图记忆超过40K。
有人可以解释可能是什么问题或对该参数有什么影响?
这个数字总是增加而且永远不会下降。
答案 0 :(得分:1)
基于https://github.com/apache/kafka/pull/4358/files处的拉取请求(建议的更改和对其作出反应的评论),看起来代理上每个主题的每个分区中的每个日志段(即文件)都会消耗两个映射
我希望值会上升,直到达到稳定状态,其中所有主题都有足够大的日志,因为保留间隔而开始被删除。此时,预计每个新文件将在删除旧文件的同时发生(假设消息速率大致不变)。如果删除了主题,或者您更改了现有主题或完整代理的配置(例如,减少日志保留时间或导致日志不太频繁地滚动),我希望值会下降,如果更改则上升相反方向的配置。