我工作的一個電梯項目,並試圖與scala:cc
編譯它,並使用JVM ARGS斯卡拉編譯服務器:爲什麼我在Scala中出現OutOfMemoryError編譯錯誤?
-Xmx1024m -Xss20m -XX:PermSize=64M -XX:MaxPermSize=512M -XX:+CMSClassUnloadingEnabled -XX:+CMSClassUnloadingEnabled
該錯誤也出現在JVM ARGS:
-Xmx1024m -Xss20m -XX:PermSize=64M -XX:MaxPermSize=512M
的結果是:
[INFO] Compiling 16 source files to /Users/axaluss/IdeaProjects/trunk/Team_Skynet/target/classes at 1299141180948
[ERROR] java.lang.OutOfMemoryError: Java heap space
[INFO] at scala.tools.nsc.symtab.Types$class.typeRef(Types.scala:2503)
[INFO] at scala.tools.nsc.symtab.SymbolTable.typeRef(SymbolTable.scala:13)
[INFO] at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2828)
[INFO] at scala.tools.nsc.symtab.Types$AsSeenFromMap.apply(Types.scala:3209)
[INFO] at scala.tools.nsc.symtab.Types$AsSeenFromMap.apply(Types.scala:3085)
[INFO] at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2849)
[INFO] at scala.tools.nsc.symtab.Types$AsSeenFromMap.apply(Types.scala:3209)
[INFO] at scala.tools.nsc.symtab.Types$Type.asSeenFrom(Types.scala:507)
[INFO] at scala.tools.nsc.symtab.Types$Type.computeMemberType(Types.scala:531)
[INFO] at scala.tools.nsc.symtab.Symbols$MethodSymbol.typeAsMemberOf(Symbols.scala:1774)
[INFO] at scala.tools.nsc.symtab.Types$Type.memberType(Types.scala:522)
[INFO] at scala.tools.nsc.symtab.Types$Type.findMember(Types.scala:858)
[INFO] at scala.tools.nsc.symtab.Types$Type.nonPrivateMembers(Types.scala:453)
[INFO] at scala.tools.nsc.symtab.Types$class.lub0$1(Types.scala:4919)
[INFO] at scala.tools.nsc.symtab.Types$class.lub0$1(Types.scala:4873)
[INFO] at scala.tools.nsc.symtab.Types$class.lub(Types.scala:4943)
[INFO] at scala.tools.nsc.symtab.SymbolTable.lub(SymbolTable.scala:13)
[INFO] at scala.tools.nsc.symtab.Types$class.lubsym$1(Types.scala:4901)
[INFO] at scala.tools.nsc.symtab.Types$$anonfun$38.apply(Types.scala:4924)
[INFO] at scala.tools.nsc.symtab.Types$$anonfun$38.apply(Types.scala:4919)
[INFO] at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
[INFO] at scala.collection.immutable.List.foreach(List.scala:45)
[INFO] at scala.tools.nsc.symtab.Types$class.lub0$1(Types.scala:4919)
[INFO] at scala.tools.nsc.symtab.Types$class.lub(Types.scala:4943)
[INFO] at scala.tools.nsc.symtab.SymbolTable.lub(SymbolTable.scala:13)
[INFO] at scala.tools.nsc.symtab.Types$class.lub(Types.scala:4863)
[INFO] at scala.tools.nsc.symtab.SymbolTable.lub(SymbolTable.scala:13)
[INFO] at scala.tools.nsc.symtab.Types$class.solveOne$1(Types.scala:4675)
[INFO] at scala.tools.nsc.symtab.Types$$anonfun$solve$1.apply(Types.scala:4684)
[INFO] at scala.tools.nsc.symtab.Types$$anonfun$solve$1.apply(Types.scala:4683)
[INFO] at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
[INFO] at scala.collection.immutable.List.foreach(List.scala:45)
[ERROR] error: fatal error (server aborted): Java heap space
[ERROR] one error found
我該如何解決這個問題? 我不知道是什麼原因導致這個錯誤,並在Google上發現任何東西,除了增加內存。
千兆字節是不夠?! – axaluss 2011-03-04 17:24:29
2 GB xmx是不夠的。它正在編譯幾分鐘,並因內存不足錯誤而失敗。 – axaluss 2011-03-04 17:44:34
@axaluss好吧,那可能是別的。也許你有複雜或大量的「匹配」陳述?這些已知容易受到指數內存複雜性的影響。 – 2011-03-04 19:00:51