佳豪你好,非常详细的描述 应该是低版本最后一个分片过大可能导致TM oom,具体修复是在[1] 。
祝好, 雪尽 [1]https://github.com/apache/flink-cdc/pull/3856 > 2025 5月 14 13:09,陈佳豪 <jagec...@yeah.net> 写道: > > 尊敬的 Flink CDC 社区开发者和维护者们, > > > 您好! > > > 我在使用 Flink CDC 进行数据同步的过程中遇到了一个问题,希望能得到社区的帮助和建议,判断这是否为当前版本的一个 bug。以下是问题的详细描述: > > > > 问题背景 > 我正在使用 Flink CDC 从源表同步数据,源表具有超过 100 个字段,数据量多达 200 万 + 条记录。在这个过程中,我使用的是 Flink > 版本 1.17.2,Flink CDC 版本为 2.4.2。 > > > 问题描述 > 在测试过程中,我发现 TaskManager > 的堆内存一直持续飙升,并且没有释放的迹象。即使任务已经完成部分数据的处理,堆内存的占用仍然居高不下,这可能会导致后续任务因为内存不足而失败。 > > > 已尝试的解决措施 > 为了解决这个问题,我进行了以下尝试,但均未取得明显效果: > 1 调整 Flink 内存配置: > > taskmanager.memory.process.size: 20000m > taskmanager.memory.jvm-overhead.fraction: 0.05 > taskmanager.memory.managed.fraction: 0.05 > taskmanager.memory.network.fraction: 0.05 > 2 调整 Flink SQL 增量快照读取大小:我在 Flink SQL 中尝试减小增量快照读取的大小,例如设置 > scan.incremental.snapshot.chunk.size 为一个较小的值,但 TaskManager 堆内存仍然持续上升。 > 3 新版本测试情况(Flink 1.19.2 + Flink CDC 3.3.0) > 当我将 Flink 升级到 1.19.2 版本,Flink CDC 升级到 3.3.0 版本,并且堆内存设置为 4g 时,发现 Task Heap > 稳定使用在 500m 左右,并不会出现堆内存飙升的情况。 > > > 期望确认的问题 > 基于以上情况,我想向社区咨询,这种 TaskManager 堆内存一直飙升且不释放的情况是否是 Flink 1.17.2 和 Flink CDC > 2.4.2 版本组合下的一个已知或未知的 bug?如果不是 bug,是否有其他的解决办法或者配置建议可以解决这个问题? > > > 感谢社区的支持和帮助,期待您的回复。 > > > 祝好,