为什么我在 Scala 中遇到 OutOfMemoryError 编译错误?

2024-01-06

我正在开发一个 Lift 项目并尝试使用scala:cc以及使用 jvm 参数的 scala 编译服务器:

-Xmx1024m  -Xss20m -XX:PermSize=64M -XX:MaxPermSize=512M -XX:+CMSClassUnloadingEnabled -XX:+CMSClassUnloadingEnabled

jvm 参数也会出现该错误:

-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

我怎么解决这个问题? 我不知道是什么导致了这个错误,除了增加内存之外,我在谷歌上找到了任何东西。


显然,你必须增加mx。 Scala 的一个问题does有个就是它的内存消耗大。随着 64 位 CPU 和服务器操作系统的广泛采用,以及当前 64 位桌面操作系统采用的激增,我预计它的重要性不会持续太久。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我在 Scala 中遇到 OutOfMemoryError 编译错误? 的相关文章

随机推荐