我有一个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正在运行正确的命令,但是在某些地方,参数被丢弃。这有什么不对?我忘记了什么吗?
答案 0 :(得分:3)
我认为您在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