如何为Play Framework 2.1设置JVM参数-Xmx

时间:2016-06-13 13:22:25

标签: java playframework jvm

运行我的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参数也没有改变。

感谢您帮助我。

2 个答案:

答案 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

如此处所述:https://www.playframework.com/documentation/2.2.x/ProductionConfiguration#Specifying-additional-JVM-arguments