首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >执行Lift项目时使用SBT时出现内存不足错误

执行Lift项目时使用SBT时出现内存不足错误
EN

Stack Overflow用户
提问于 2012-01-06 08:34:44
回答 2查看 18.9K关注 0票数 16

我使用的是SBT 0.7.7。当我更改Lift项目并通过以下方式重新编译时:

  1. jetty-stop
  2. compile
  3. jetty-run

我得到以下错误:

执行sbt时出现

错误: java.lang.OutOfMemoryError: PermGen空间

我在/opt/local/bin/sbt-0.7中定义了以下内容:

代码语言:javascript
复制
# Is the location of the SBT launcher JAR file.
LAUNCHJAR="/opt/local/share/sbt-0.7/sbt-launch-0.7.7.jar"

# Ensure enough heap space is created for SBT.
if [ -z "$JAVA_OPTS" ]; then
JAVA_OPTS="-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxPermSize=256m -Xmx512M -Xss2M"
fi

# Assume java is already in the shell path.
exec java $JAVA_OPTS -jar "$LAUNCHJAR" "$@"
EN

回答 2

Stack Overflow用户

发布于 2012-09-19 04:51:35

PermGen只是组成堆的众多空间中的一个。您可以增加整个堆,直到分配的部分足以满足您的需求,也可以简单地增加对PermGen空间的分配。要实现后者,请使用

适用于sbt 0.12.0的

导出SBT_OPTS=-XX:MaxPermSize=256m

最好把它放到你的.bash_profile中(假设你使用的是bash)

适用于SBT0.7

在您的情况下,将-XX:MaxPermSize增加到256m以上。请记住,需要超过2.56亿表明可能存在其他问题。

票数 37
EN

Stack Overflow用户

发布于 2012-07-14 09:19:18

您需要允许java分配更多的内存。

代码语言:javascript
复制
# You may need more or less depending on your project.
export SBT_OPTS=-Xmx1024M

您可能还会重新访问其他一些内存设置。我正在运行SBT 0.11.2,但只指定了Xmx。

顺便说一句,如果你在编译过程中真的遇到任何GC问题,我会很惊讶。更改GC收集策略,使其与运行时间更长的进程更相关。

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

https://stackoverflow.com/questions/8751936

复制
相关文章

相似问题

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