PlayFramework 内存设置选项不受尊重

PlayFramework memory setting options are not respected

我有一个 Play Framework 应用程序,我想在生产模式下 运行 但是每当我 运行 activator start -mem 512activator start -J-Xms512m -J-Xmx512m 我都会收到关于 JVM 无法运行的错误分配足够的内存。奇怪的是,错误日志表明传递给 jvm 的参数是:

-Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m -Duser.dir=/home/oguz/dev/rhymo-server/target/universal/s$

但是当我从激活器 bash 脚本中打印命令信息时,我得到:

java -Dactivator.home=/home/oguz/frameworks/activator-1.2.12 -Xms512m -Xmx512m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=256m -jar /home/oguz/frameworks/activator-1.2.12/activator-launch-1.2.12.jar start

似乎 play 是 运行 正确的命令,但在某处参数被丢弃了。这里有什么问题?我是不是忘记了什么?

我认为您在 Activator 中遇到了 bug。您可以使用 JAVA_OPTS:

解决它
$ JAVA_OPTS="-Xms512m -Xmx512m -XX:MetaspaceSize=64m" ./activator start

或为您的 .bashrc/.zshrc 添加别名。您也可以 运行 activator stage 然后使用

启动您的应用
$ target/universal/stage/bin/YOUR-APP-NAME -mem 512