Java 1.11.4版本中的NIFI堆空间问题

Java 1.11.4版本中的NIFI堆空间问题,java,apache-nifi,Java,Apache Nifi,每当我重新启动NIFI应用程序时,NIFI 1.11.4都会面临堆空间内存问题。初始bootstrap.conf是Xms4g到Xmx8g 重启后,我们遇到了java堆空间问题,所以我们已经增加到12GB,并且运行良好。重新启动1次后(5天内),它不接受12GB作为最大大小,我们已将其更改为14GB,然后仅启动NIFI。有人能解释一下为什么NIFI每次重启都要求更多内存吗 ERROR [main] org.apache.nifi.NiFi Failure to launch NiFi due

每当我重新启动NIFI应用程序时,NIFI 1.11.4都会面临堆空间内存问题。初始
bootstrap.conf是Xms4g到Xmx8g
重启后,我们遇到了java堆空间问题,所以我们已经增加到12GB,并且运行良好。重新启动1次后(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

看起来您更改了不同的参数

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

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

这似乎是一个xml解析问题。要么nifi过载,要么它内部的流执行繁重的xml解析操作。考虑检查流来发现问题XML操作XML解析——您的意思是说在NIFI中创建的流和模板是巨大的,这引起了这个问题?这可能导致它。模板定义堆积在conf目录下的flow.xml.gz中。nifi尝试加载该xml。删除模板定义和不必要的流可能会有所帮助。谢谢,我们将尝试此操作。