【发布时间】:2015-07-16 20:47:29
【问题描述】:
如何增加 Play 环境的可用内存?运行测试一段时间后内存不足。
特别是,我收到此错误:
java.lang.OutOfMemoryError: PermGen 空间
【问题讨论】:
-
stackoverflow.com/questions/6763453/… 这个帖子中推荐的答案可能会有所帮助
如何增加 Play 环境的可用内存?运行测试一段时间后内存不足。
特别是,我收到此错误:
java.lang.OutOfMemoryError: PermGen 空间
【问题讨论】:
通过设置环境变量“_JAVA_OPTIONS”,可以传入play/sbt在正常使用时会用到的变量。我发现这有助于我在运行开发和测试时避免 PermGen 空间错误。
例如:
导出_JAVA_OPTIONS="-Xms64m -Xmx1024m -Xss2m -XX:MaxPermSize=256m"
【讨论】:
我通过添加解决了这个问题:
javaOptions ++= Seq("-Xmx2048M", "-Xms512M", "-XX:MaxPermSize=2048M")
在 Build.scala 中设置。
【讨论】:
用于播放的 Java 启动选项是在脚本中创建的:
$PLAY_HOME/framework/build
可以通过修改文件底部的行来增加PermGen空间:
java ${DEBUG_PARAM} -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M ...
将 MaxPermSize 变量设置为适当的值。
【讨论】: