PlayFramework 内存设置选项不受尊重
PlayFramework memory setting options are not respected
我有一个 Play Framework 应用程序,我想在生产模式下 运行 但是每当我 运行 activator start -mem 512
或 activator 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
我有一个 Play Framework 应用程序,我想在生产模式下 运行 但是每当我 运行 activator start -mem 512
或 activator 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