当前位置: 首页 > 知识库问答 >
问题:

1.11.4版本中的NIFI堆空间问题

商棋
2023-03-14

每当我重新启动NIFI应用程序时,我都面临着NIFI1.11.4堆空间内存问题。初始的bootstrap.conf是Xms4g到xmx8g重启后,我们遇到了Java堆空间问题,所以我们增加到了12 GB,并且运行良好。再重新启动一次后(5天内),它不接受12GB作为最大大小,我们将它改为14GB,然后只有NIFI开始了。谁能解释一下为什么NIFI每次重启都要求更多的内存。

  ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi due to java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:3236)
        at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
        at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
        at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
        at com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.flushBuffer(WriterToUTF8Buffered.java:450)
        at com.sun.org.apache.xml.internal.serializer.WriterToUTF8Buffered.write(WriterToUTF8Buffered.java:194)
        at com.sun.org.apache.xml.internal.serializer.ToStream.characters(ToStream.java:1487)
        at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.characters(ToUnknownStream.java:814)
        at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.characters(ToUnknownStream.java:348)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:242)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:228)
        at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:92)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:684)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:728)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:343)
        at org.apache.nifi.controller.TemplateUtils.parseDto(TemplateUtils.java:63)
        at org.apache.nifi.controller.StandardFlowSynchronizer.addLocalTemplates(StandardFlowSynchronizer.java:602)
        at org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:410)
        at org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1376)
        at org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:88)
        at org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:812)
2021-04-15 05:04:49,699 INFO [Write-Ahead Local State Provider Maintenance] org.wali.MinimalLockingWriteAheadLog org.wali.MinimalLockingWriteAheadLog@5a6f1342 checkpointed with 14464 Records and 0 Swap Files in 24 milliseconds (Stop-the-world time = 3 milliseconds, Clear Edit Logs time = 1 millis), max Transaction ID 63815

共有1个答案

夏理
2023-03-14

看起来你改变了不同的参数。

xms4g 

实际上是启动内存配置。而xmx8g是允许的最大值。

您应该尝试将两者都设置为8G(如果这是您的系统推荐的设置)。谢谢

 类似资料:
  • 为我的人工智能类编写一段代码,它旨在列出所有可能的状态,给出三个水壶的水壶问题(你可以装满任何一个水壶,或者把一个水壶倒入另一个水壶,或者清空任何一个水壶,你想要多少次就多少次,以任何顺序),从空水壶开始。 出于某种原因,在记录了88个看似不同的状态后,第89个状态与第一个状态相同,我最终用完了空间,因为它在循环。 我想这与我如何检查状态是不同的有关,但我不能弄清楚。任何帮助都将不胜感激。 }

  • 问题内容: 我最近在具有24个CPU和32GB RAM的服务器上使用了带有Ipython的PySpark。它仅在一台机器上运行。在我的过程中,我想收集以下代码中给出的大量数据: 当我做 它给我outOfMemory错误。。另外,此错误发生后,我无法在Spark上执行任何操作,因为它失去了与Java的连接。它给。 看起来堆空间很小。如何设置更大的限制? 编辑 : 我在运行之前尝试过的事情: 我根据此

  • 问题内容: 我在执行多线程程序时遇到以下错误 上面的错误发生在其中一个线程中。 据我所知,堆空间仅由实例变量占用。如果这是正确的,那么为什么在运行一段时间后会出现此错误,因为在创建对象时分配了实例变量的空间。 有什么办法可以增加堆空间? 我应该对程序进行哪些更改,以使其占用更少的堆空间? 问题答案: 如果要增加堆空间,可以 -在命令行上使用。默认情况下,这些值基于JRE版本和系统配置。你可以在Ja

  • 我面临一些关于内存问题的问题,但我无法解决它。非常感谢您的帮助。我不熟悉Spark和pyspark功能,试图读取大约5GB大小的大型JSON文件,并使用 每次运行上述语句时,都会出现以下错误: 我需要以RDD的形式获取JSON数据,然后使用SQLSpark进行操作和分析。但是我在第一步(读取JSON)本身就出错了。我知道要读取如此大的文件,需要对Spark会话的配置进行必要的更改。我遵循了Apac

  • 我想从网页上选定的文本中提取名词,并在文本显示时突出显示它们。所以我使用OpenNLP库来解析和获取名词列表。它在java类中运行良好,没有内存问题,尽管在显示输出之前花费了6-7秒,但当我在jsp页面中运行代码时,我得到了以下错误: 根本原因 我读到的一些解决方案建议通过这样做来增加apache tomcat的堆内存大小: 所以我将其设置为-Xmx2g,但仍然会产生相同的错误。我认为我不需要修改

  • 我最近一直在我的服务器上使用PySpark和Ipython,服务器上有24个CPU和32GB RAM。它只在一台机器上运行。在我的过程中,我想收集大量的数据,如下代码所示: 当我做的时候 它给了我outOfMemory错误。。此外,我不能在此错误后对Spark执行任何操作,因为它失去了与Java的连接。它给出了。 看起来堆空间很小。我怎么才能把它设置到更大的限度呢? 编辑: 运行前尝试的内容: 我