开发者社区 问答 正文

在使用 RocksDBStateBackend 时,作业重启后为什么会发生内存泄露?

在使用 RocksDBStateBackend 时,作业重启后为什么会发生内存泄露?

展开
收起
夹心789 2024-07-30 18:36:43 57 发布于黑龙江 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 在使用 RocksDBStateBackend 时,如果作业发生重启并且重启后复用了未退出的 TaskManager(TM),同时在 TM 的 heap 内存充足且 full gc 不频繁的情况下,可能会触发内存泄露。原因是 RocksDBStateBackend 的清理过程中存在 bug,导致一处 RocksObject 没有被正确清理,进而使得 restart 前 RocksDB 实例的 native 内存无法释放,随着多次重启,TM 内存会持续增长,最终可能导致内存超用。
    image.png

    2024-07-30 20:05:12 举报
    赞同 1 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等