升级到Rapidminer Server 9.6后Java OutOfMemoryErrors

PaulMPaulM 成员职位:17因素二世
2020年6月编辑 帮助
我们最近升级到RM Server 9.6(从9.3升级到9.6),并且有各种内存密集型进程。有几个使用Java OutOfMemoryErrors开始失败,更奇怪的是,尽管使用相同数量的数据运行,它们一次可以正常运行,但以后会失败。

这些症状确实使我怀疑RM Server或Java是否存在内存泄漏问题。有人遇到过类似的情况吗?对诊断这个问题有什么建议吗?(作业容器已经使用最大内存运行,所以我们不能增加它)。
标记:

答案

  • aschaferdiekaschaferdiek 员工,成员职位:75RM工程
    2020年6月编辑
    @PaulM.谢谢你的问题。如果它们有时成功,有时不成功,这似乎与底层JVM有关。在作业详细信息页面中显示的内存量是分配内存。因此,即使分配的内存量是100%,作业使用的内存量也不必是100%。
    9.6引入了新的作业容器(跨执行持久化)。您是否可以尝试设置重新启动策略,以便在每次执行后重新启动作业容器?这将模拟旧9.3的行为,然后让我们看看问题是否仍然存在。有关不同政策的更多信息,请参阅我们的文档和代理。属性文件。https://docs.www.turtlecreekpls.com/latest/server/configure/jobs/job-agents.html
    PaulM
  • PaulMPaulM 成员职位:17因素二世
    谢谢@aschaferdiek.在收到你的回复之前,我重新设计了将最大的数据集加载到内存中的过程,将它们分解成更易于管理的块并循环,从表面上看,这使事情能够再次运行。

    然而,昨晚这个过程失败了,出现了以下错误:

    作业集装箱被强行杀死
    作业容器“1”被强制杀死,因此作业执行已停止。原因:已调用作业容器的重新启动。

    重启不是我们手动触发的,所以看起来你对导致问题的系统方面的评估是正确的。我们会照你的建议去做,然后回来报告。

    aschaferdiek
  • PaulMPaulM 成员职位:17因素二世
    为没有及时报告而道歉;我们按照你的建议修改了重启策略,解决了这个问题。9.7会在这方面引入任何进一步的行为改变吗?
  • aschaferdiekaschaferdiek 员工,成员职位:75RM工程
    @PaulM.不,持久化作业容器的引入是这方面唯一重要的变化,但正如您注意到的,您可以使用重启策略模拟旧的行为。我仍然建议您更新到最新版本,因为一些(其他)错误已经修复。
    如果您遇到任何进一步的问题,请随时打开一个线程。
登录注册置评。