将corda版本更新为4.1后出现OutOfMemory错误

将corda版本更新为4.1后出现OutOfMemory错误,corda,Corda,我安装了corda 3.3测试,最近将其更新为4.1版,之后,当我使用deployNodes脚本和runnodes运行节点时,我总是在节点的控制台中收到以下异常,只要它启动。这意味着什么?我不知道这是什么原因造成的。 我尝试在没有cordapps的情况下构建和运行节点,但这些节点正常工作,因此我的cordapps导致了此错误的发生。我应该提供哪些其他信息来帮助您解决此问题 Exception in thread "main" java.lang.OutOfMemoryError: Java he

我安装了corda 3.3测试,最近将其更新为4.1版,之后,当我使用deployNodes脚本和runnodes运行节点时,我总是在节点的控制台中收到以下异常,只要它启动。这意味着什么?我不知道这是什么原因造成的。 我尝试在没有cordapps的情况下构建和运行节点,但这些节点正常工作,因此我的cordapps导致了此错误的发生。我应该提供哪些其他信息来帮助您解决此问题

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3236)
at java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:191)
at kotlin.io.ByteStreamsKt.readBytes(IOStreams.kt:123)
at kotlin.io.ByteStreamsKt.readBytes$default(IOStreams.kt:120)
at net.corda.core.internal.InternalUtils.readFully(InternalUtils.kt:123)
at net.corda.node.internal.cordapp.JarScanningCordappLoader.getJarHash(JarScanningCordappLoader.kt:228)
at net.corda.node.internal.cordapp.JarScanningCordappLoader.toCordapp(JarScanningCordappLoader.kt:153)
at net.corda.node.internal.cordapp.JarScanningCordappLoader.loadCordapps(JarScanningCordappLoader.kt:106)
at net.corda.node.internal.cordapp.JarScanningCordappLoader.access$loadCordapps(JarScanningCordappLoader.kt:44)
at net.corda.node.internal.cordapp.JarScanningCordappLoader$cordapps$2.invoke(JarScanningCordappLoader.kt:56)
at net.corda.node.internal.cordapp.JarScanningCordappLoader$cordapps$2.invoke(JarScanningCordappLoader.kt:44)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at net.corda.node.internal.cordapp.JarScanningCordappLoader.getCordapps(JarScanningCordappLoader.kt)
at net.corda.node.internal.cordapp.CordappLoaderTemplate$cordappSchemas$2.invoke(JarScanningCordappLoader.kt:422)
at net.corda.node.internal.cordapp.CordappLoaderTemplate$cordappSchemas$2.invoke(JarScanningCordappLoader.kt:389)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at net.corda.node.internal.cordapp.CordappLoaderTemplate.getCordappSchemas(JarScanningCordappLoader.kt)
at net.corda.node.internal.AbstractNode.<init>(AbstractNode.kt:153)
at net.corda.node.internal.AbstractNode.<init>(AbstractNode.kt:126)
at net.corda.node.internal.Node.<init>(Node.kt:98)
at net.corda.node.internal.Node.<init>(Node.kt:97)
at net.corda.node.internal.NodeStartup.createNode(NodeStartup.kt:194)
at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:186)
at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:137)
at net.corda.node.internal.NodeStartupLogging$DefaultImpls.attempt(NodeStartup.kt:509)
at net.corda.node.internal.NodeStartup.attempt(NodeStartup.kt:137)
at net.corda.node.internal.NodeStartup.initialiseAndRun(NodeStartup.kt:185)
at net.corda.node.internal.NodeStartupCli.runProgram(NodeStartup.kt:128)
at net.corda.cliutils.CordaCliWrapper.call(CordaCliWrapper.kt:190)
at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:83)
at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:64)
at picocli.CommandLine.execute(CommandLine.java:1056)
线程“main”java.lang.OutOfMemoryError中的异常:java堆空间 位于java.util.Arrays.copyOf(Arrays.java:3236) 位于java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:191) 在kotlin.io.ByteStreamsKt.readBytes处(IOStreams.kt:123) 在kotlin.io.ByteStreamsKt.readBytes$default处(IOStreams.kt:120) 在net.corda.core.internal.InternalUtils.readFully上(InternalUtils.kt:123) 位于net.corda.node.internal.cordapp.JarScanningCordappLoader.getJarHash(JarScanningCordappLoader.kt:228) 位于net.corda.node.internal.cordapp.JarScanningCordappLoader.toCordapp(JarScanningCordappLoader.kt:153) 位于net.corda.node.internal.cordapp.JarScanningCordappLoader.loadCordapps(JarScanningCordappLoader.kt:106) 位于net.corda.node.internal.cordapp.JarScanningCordappLoader.access$loadCordapps(JarScanningCordappLoader.kt:44) 位于net.corda.node.internal.cordapp.JarScanningCordappLoader$cordapps$2.invoke(JarScanningCordappLoader.kt:56) 位于net.corda.node.internal.cordapp.JarScanningCordappLoader$cordapps$2.invoke(JarScanningCordappLoader.kt:44) 在kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) 位于net.corda.node.internal.cordapp.JarScanningCordappLoader.getCordapps(JarScanningCordappLoader.kt) 在net.corda.node.internal.cordapp.CordappLoaderTemplate$cordappSchemas$2.invoke(JarScanningCordappLoader.kt:422) 在net.corda.node.internal.cordapp.CordappLoaderTemplate$cordappSchemas$2.invoke(JarScanningCordappLoader.kt:389) 在kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) 位于net.corda.node.internal.cordapp.CordappLoaderTemplate.getCordappSchemas(JarScanningCordappLoader.kt) 位于net.corda.node.internal.AbstractNode。(AbstractNode.kt:153) 在net.corda.node.internal.AbstractNode。(AbstractNode.kt:126) at net.corda.node.internal.node.(node.kt:98) at net.corda.node.internal.node.(node.kt:97) net.corda.node.internal.NodeStartup.createNode(NodeStartup.kt:194) 在net.corda.node.internal.NodeStartup$initialiseand运行$5.invoke(NodeStartup.kt:186) 在net.corda.node.internal.NodeStartup$initialiseand运行$5.invoke(NodeStartup.kt:137) 在net.corda.node.internal.nodestartuploging$DefaultImpls.trunt(NodeStartup.kt:509)处 at net.corda.node.internal.NodeStartup.trunt(NodeStartup.kt:137) at net.corda.node.internal.NodeStartup.initialiseAndRun(NodeStartup.kt:185) at net.corda.node.internal.NodeStartupCli.runProgram(NodeStartup.kt:128) 在net.corda.cliutils.cordacliwraper.call(cordacliwraper.kt:190) at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:83) at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:64) 在picocli.CommandLine.execute(CommandLine.java:1056)
科尔达的内存使用率一直在缓慢上升。在升级到4之后,您的计算机可能没有足够的内存来同时运行3/4+节点

我建议尝试在安装了CorDapps的情况下运行单个节点,看看会发生什么。如果它仍然在发生,那么其他的事情可能会出问题

看看stacktrace,也有可能您的CorDapp本身非常非常非常大,读取和加载CorDapp时内存不足