首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Scala编译时防止java.lang.OutOfMemoryError: PermGen空间?

如何在Scala编译时防止java.lang.OutOfMemoryError: PermGen空间?
EN

Stack Overflow用户
提问于 2011-12-01 02:41:01
回答 6查看 22K关注 0票数 80

我注意到我的scala编译器有一个奇怪的行为。它偶尔会在编译类时抛出OutOfMemoryError。以下是错误消息:

代码语言:javascript
运行
复制
[info] Compiling 1 Scala source to /Users/gruetter/Workspaces/scala/helloscala/target/scala-2.9.0/test-classes...
java.lang.OutOfMemoryError: PermGen space
Error during sbt execution: java.lang.OutOfMemoryError: PermGen space

它只会偶尔发生一次,并且错误通常不会在后续的编译运行中抛出。我使用Scala 2.9.0并通过SBT进行编译。

有谁知道这个错误的原因是什么吗?提前感谢你的见解。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-01 04:36:05

产生OutOfMemoryError: PermGen space的原因是它没有足够的permanent generation space :)如果您使用的是Oracle JVM,则需要在sbt脚本中添加-XX:MaxPermSize=256M (或其他一些空间量)参数。对于其他JVM,请查看其文档。

票数 47
EN

Stack Overflow用户

发布于 2012-10-11 11:12:22

我使用HomeBrew在OS上安装sbt。它支持一个SBT_OPTS参数,这个参数可以用export SBT_OPTS=-XX:MaxPermSize=256M放在~/.sbtconfig文件中。

票数 100
EN

Stack Overflow用户

发布于 2013-08-11 10:55:14

我遇到了这个问题,花了10分钟查看试图改变内存大小的站点。

结果我解决了这个问题,

代码语言:javascript
运行
复制
user-profile$ sbt

然后,

代码语言:javascript
运行
复制
sbt-project-name 0.1> clean

这对我来说很清楚。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8331135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档