我们在3 VM集群上运行Flink。每个VM大约有40个内存。每天我们停止一些工作并开始新的工作。几天后,以“无法分配内存”错误拒绝开始新作业:
OpenJDK 64位服务器VM警告:INFO:os :: commit_memory(0x0000000340000000,12884901888,0)失败; error ='无法分配内存'(错误= 12)
调查显示,任务管理器RAM正在不断增长,直到超过允许的40 Go,尽管作业被取消。
我还没有访问群集,所以我在笔记本电脑上的独立群集上尝试了一些测试并监视任务管理器RAM:
使用jvisualvm,我可以看到一切按预期工作。我加载了作业内存,然后清理它并等待(几分钟)GB启动。堆已释放。
然而top,记忆保持 高。
目前我们每天早上都要重新启动群集来解决这个内存问题,我很确定这不是一个Flink问题,但是有人能指出我正确的方向来解决我们的错误吗?
在独立模式下,Flink可能无法按您的意愿释放资源。例如,资源由实例中的静态member保留。
强烈建议使用YARN或K8作为运行时环境。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。