scala - Error de memoria insuficiente al usar SBT al ejecutar Lift Project
memory (2)
El PermGen es solo uno de los muchos espacios que en conjunto conforman el Heap. Podría aumentar el montón completo hasta que la parte asignada sea lo suficientemente grande para sus necesidades o simplemente podría aumentar la asignación hacia el espacio PermGen. Para hacer esto último, use
Para sbt 0.12.0
export SBT_OPTS = -XX: MaxPermSize = 256m
Sería mejor poner esto en tu .bash_profile (asumiendo que estás usando bash)
Para sbt 0.7
En su caso, aumente el -XX: MaxPermSize a algo más de 256m. Teniendo en cuenta que la necesidad de más de 256 m sugiere que puede haber otros problemas.
Estoy usando SBT 0.7.7. Cuando hago un cambio en mi proyecto de Lift y lo compilo a través de:
jetty-stop
-
compile
-
jetty-run
Obtuve el siguiente error:
Error durante la ejecución de sbt: java.lang.OutOfMemoryError: espacio PermGen
Tengo definido lo siguiente dentro de /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" "$@"
Necesitas permitir que java asigne más memoria.
# You may need more or less depending on your project.
export SBT_OPTS=-Xmx1024M
También puede revisar algunas de esas otras configuraciones de memoria. Estoy ejecutando SBT 0.11.2, y no tengo nada más que Xmx especificado.
Dejando de lado, me sorprendería si tuviera algún problema con GC durante una compilación. Cambiar la estrategia de recolección de GC más relevante para procesos de ejecución más largos.