Intellij idea 如何在intelliJ IDEA中增加cordApp堆大小
我的cordApp正在使用需要更多堆空间的第三方服务,但在IntelliJ IDEA上运行时,我无法增加堆大小限制。我看过以下文件: 但当我从intellij IDE在模拟网络上运行我的应用程序时,我需要更多的堆空间。我尝试了以下解决方案:Intellij idea 如何在intelliJ IDEA中增加cordApp堆大小,intellij-idea,corda,Intellij Idea,Corda,我的cordApp正在使用需要更多堆空间的第三方服务,但在IntelliJ IDEA上运行时,我无法增加堆大小限制。我看过以下文件: 但当我从intellij IDE在模拟网络上运行我的应用程序时,我需要更多的堆空间。我尝试了以下解决方案: 在运行配置中设置VM选项-Xmx1048m 编辑idea.vmoptions (Mac)更改首选项>生成、执行、部署>编译器[参数] (Mac)更改首选项>生成、执行、部署>编译器>Kotlin编译器[params] 每次我跑步 Runtime.getRu
-Xmx4g
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
-数据文件编码=UTF-8
-XX:+UseConMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useConcaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-省略StackTraceInFastThrow
-Xverify:无
-XX:ErrorFile=$USER\u HOME/java\u error\u in\u idea\u%p.log
-XX:HeapDumpPath=$USER\u HOME/java\u error\u in\u idea.hprof
-Xbootclasspath/a:../lib/boot.jar
我使用了Corda V3并更新了NodeDriver.kt,它对我很有用
fun main(args: Array<String>) {
// No permissions required as we are not invoking flows.
val nodeParams = NodeParameters(maximumHeapSize = "800m")
val user = User("user1", "test", permissions = setOf("ALL"))
driver(DriverParameters(isDebug = true, waitForAllNodesToFinish = true)) {
val (partyA, partyB, partyC) = listOf(
startNode(nodeParams, providedName = CordaX500Name("PartyA", "London", "GB"), rpcUsers = listOf(user), maximumHeapSize = "800m"),
startNode(nodeParams, providedName = CordaX500Name("PartyB", "New York", "US"), rpcUsers = listOf(user), maximumHeapSize = "800m"),
startNode(nodeParams, providedName = CordaX500Name("PartyC", "Paris", "FR"), rpcUsers = listOf(user), maximumHeapSize = "800m")).map { it.getOrThrow() }
startWebserver(partyA,"800m")
startWebserver(partyB,"800m")
startWebserver(partyC,"800m")
}}
fun main(args:Array){
//不需要权限,因为我们没有调用流。
val节点参数=节点参数(maximumHeapSize=“800m”)
val user=user(“user1”,“test”,权限=setOf(“ALL”))
驱动程序(驱动程序参数(isDebug=true,waitForAllNodesToFinish=true)){
val(partyA、partyB、partyC)=列表(
startNode(nodeParams,providedName=CordaX500Name(“PartyA”、“London”、“GB”),rpcUsers=listOf(user),maximumHeapSize=“800m”),
startNode(nodeParams,providedName=CordaX500Name(“PartyB”、“纽约”、“美国”),rpcUsers=listOf(用户),maximumHeapSize=“800m”),
startNode(nodeParams,providedName=CordaX500Name(“PartyC”、“Paris”、“FR”),rpcUsers=listOf(user),maximumHeapSize=“800m”)).map{it.getOrThrow()}
startWebserver(第二部分,“800m”)
startWebserver(partyB,“800m”)
startWebserver(partyC,“800m”)
}}
我使用了Corda V3并更新了NodeDriver.kt,它对我很有用
fun main(args: Array<String>) {
// No permissions required as we are not invoking flows.
val nodeParams = NodeParameters(maximumHeapSize = "800m")
val user = User("user1", "test", permissions = setOf("ALL"))
driver(DriverParameters(isDebug = true, waitForAllNodesToFinish = true)) {
val (partyA, partyB, partyC) = listOf(
startNode(nodeParams, providedName = CordaX500Name("PartyA", "London", "GB"), rpcUsers = listOf(user), maximumHeapSize = "800m"),
startNode(nodeParams, providedName = CordaX500Name("PartyB", "New York", "US"), rpcUsers = listOf(user), maximumHeapSize = "800m"),
startNode(nodeParams, providedName = CordaX500Name("PartyC", "Paris", "FR"), rpcUsers = listOf(user), maximumHeapSize = "800m")).map { it.getOrThrow() }
startWebserver(partyA,"800m")
startWebserver(partyB,"800m")
startWebserver(partyC,"800m")
}}
fun main(args:Array){
//不需要权限,因为我们没有调用流。
val节点参数=节点参数(maximumHeapSize=“800m”)
val user=user(“user1”,“test”,权限=setOf(“ALL”))
驱动程序(驱动程序参数(isDebug=true,waitForAllNodesToFinish=true)){
val(partyA、partyB、partyC)=列表(
startNode(nodeParams,providedName=CordaX500Name(“PartyA”、“London”、“GB”),rpcUsers=listOf(user),maximumHeapSize=“800m”),
startNode(nodeParams,providedName=CordaX500Name(“PartyB”、“纽约”、“美国”),rpcUsers=listOf(用户),maximumHeapSize=“800m”),
startNode(nodeParams,providedName=CordaX500Name(“PartyC”、“Paris”、“FR”),rpcUsers=listOf(user),maximumHeapSize=“800m”)).map{it.getOrThrow()}
startWebserver(第二部分,“800m”)
startWebserver(partyB,“800m”)
startWebserver(partyC,“800m”)
}}
您可以发布idea.vmoptions文件的内容吗?听起来这不是Corda特有的问题,我正在使用Corda V2,我想我无法更改单个节点的heapsize,因为V2 Corda.jar是用VM Args:Xmx200m编译的。我克隆了一个新的V3 github.com/corda/cordapp-example副本,计划尝试@OmerShafiq为什么在编译代码时需要堆?@Shinchan我在build.gradle中添加了第三方依赖项,我的cordapp编译和启动都非常好,但当我启动corda流时,在我的示例“创建IOU”中,它抛出内存不足(堆空间)的异常*注意,我没有使用新包含的依赖项的任何功能。在V2 cordapp示例中,使用新依赖项更新build.gradle后,一切正常,但当我尝试访问新包含的依赖项的功能时,我得到以下结果:java.lang.IllegalArgumentException:系统内存209715200必须至少为471859200。请增加堆大小。您可以发布idea.vmoptions文件的内容吗?听起来这不是Corda特有的问题,我正在使用Corda V2,我想我无法更改单个节点的heapsize,因为V2 Corda.jar是用VM Args:Xmx200m编译的。我克隆了一个新的V3 github.com/corda/cordapp-example副本,计划尝试@OmerShafiq为什么在编译代码时需要堆?@Shinchan我在build.gradle中添加了第三方依赖项,我的cordapp编译和启动都非常好,但当我启动corda流时,在我的示例“创建IOU”中,它抛出内存不足(堆空间)的异常*注意,我没有使用新包含的依赖项的任何功能。在V2 cordapp示例中,使用新依赖项更新build.gradle后,一切正常,但当我尝试访问新包含的依赖项的功能时,我得到以下结果:java.lang.IllegalArgumentException:系统内存209715200必须至少为471859200。请增加堆大小