运行我的 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参数也没有改变。
谢谢你帮助我。
选项 1
将以下设置添加到 Build.scala
javaOptions ++= Seq("-Xmx3g", "-Xms3g", "-XX:MaxPermSize=2048M")
选项 2
将以下内容添加到正在运行的终端的 VM 选项
$ JAVA_OPTS="-Xms3g -Xmx3g -XX:MetaspaceSize=2048M" ./activator start
-XX:最大渗透尺寸=92m
这是默认值,在大多数情况下,您无需更改它。只有当你在"PermGen空间"中得到"内存不足错误"时,你才能增加它。在您的情况下,您可能需要增加它。
激活器模块仍然存在错误
有关与问题相关的调查结果的更多信息超出 GC 开销限制
它终于可以使用以下参数
/path/to/bin/<project-name> -mem 512 -J-server
如下所述:https://www.playframework.com/documentation/2.2.x/ProductionConfiguration#Specifying-additional-JVM-arguments