Hah*_*ann 16 memory scala lift sbt
我使用的是SBT 0.7.7.当我对Lift项目进行更改并通过以下方式重新编译时:
jetty-stopcompilejetty-run我收到以下错误:
执行sbt时出错:java.lang.OutOfMemoryError:PermGen space
我在/opt/local/bin/sbt-0.7中定义了以下内容:
# 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" "$@"
Run Code Online (Sandbox Code Playgroud)
jui*_*ice 37
PermGen只是众多空间中的一个,它们整体构成了堆.您可以增加整个堆,直到分配的部分足够大,或者您可以简单地增加PermGen空间的分配.为了做到这一点,请使用
对于sbt 0.12.0
export SBT_OPTS = -XX:MaxPermSize = 256m
最好把它放在你的.bash_profile中(假设你正在使用bash)
对于sbt 0.7
在您的情况下,将-XX:MaxPermSize增加到256m以上.请记住,需要超过256米表明可能存在其他问题.
小智 6
您需要允许java分配更多内存.
# You may need more or less depending on your project.
export SBT_OPTS=-Xmx1024M
Run Code Online (Sandbox Code Playgroud)
您也可以重新访问其他一些内存设置.我正在运行SBT 0.11.2,除了Xmx,我什么都没有.
顺便说一句,如果您在编译期间确实遇到任何GC问题,我会感到惊讶.更改GC收集策略与更长时间运行的流程更相关.