开发者社区> 问答> 正文

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

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

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

    2024-07-30 20:05:12
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载
低代码开发师(初级)实战教程 立即下载