运行我的Play应用程序时,我经常会收到以下错误:java.lang.OutOfMemoryError: GC overhead limit exceeded
我现在想要增加MaxHeapSize。
首先,我将参数应用于我的启动脚本:
cd app_x
.../play/play-2.2.1/play clean compile stage
app_x/target/universal/stage/bin/app_x -J-Xmx3g
但是,JVM的参数保持不变。霍普说
这个过程java -Xms1024m -Xmx1024m ...
。
然后我配置了环境变量:
export _JAVA_OPTIONS="-Xmx3g"
我执行了play test
并得到了:
Picked up _JAVA_OPTIONS: -Xmx3g
但是,JVM的Xmx参数也没有改变。
感谢您帮助我。
答案 0 :(得分:4)
选项1
将以下设置添加到Build.scala
javaOptions ++= Seq("-Xmx3g", "-Xms3g", "-XX:MaxPermSize=2048M")
选项2
将以下内容添加到正在运行的终端的VM选项
$ JAVA_OPTS="-Xms3g -Xmx3g -XX:MetaspaceSize=2048M" ./activator start
-XX:MaxPermSize参数=92米
这是默认值,在大多数情况下,您无需更改它。只有在“PermGen space”中出现“OutOfMemoryError”时才可以增加它。在您的情况下,您可能需要增加它。
激活器模块仍然面临bugs
有关与问题相关的调查结果的更多信息 GC overhead limit exceeded
答案 1 :(得分:3)
它最终使用了以下参数
/path/to/bin/<project-name> -mem 512 -J-server