【发布时间】:2014-02-26 23:42:42
【问题描述】:
我正在尝试将正确的 JVM 参数传递给部署在 Heroku 上的 play 2.2.1 应用程序,但出现了问题。
我的 Procfile 看起来像这样:
web: 目标/通用/stage/bin/myapp -Dhttp.port=${PORT} -Dconfig.file=conf/production.conf -J-javaagent:lib/heroku-javaagent-1.4.jar=stdout=true,lxmem=true -J-javaagent:lib/newrelic.jar -J-Dnewrelic.config.file =lib/newrelic.yml
在这篇文章 (https://devcenter.heroku.com/articles/play-support) 中,它说不需要传递 PLAY_OPTS,因为它是由生成的脚本读取的。但是,在我的应用程序中,我在运行时读取了 JVM 参数,它们看起来像这样:
JVM value: -Djava.rmi.server.useCodebaseOnly=true
JVM value: -Xms1024m
JVM value: -XX:MaxPermSize=256m
JVM value: -XX:ReservedCodeCacheSize=128m
JVM value: -Duser.dir=/app/target/universal/stage
JVM value: -Dhttp.port=57279
JVM value: -javaagent:lib/heroku-javaagent-1.4.jar=stdout=true,lxmem=true
JVM value: -Xmx1024m
JVM value: -javaagent:lib/newrelic.jar
JVM value: -Dnewrelic.config.file=lib/newrelic.yml
JVM value: -Dconfig.file=conf/production.conf
所以脚本显然没有读取“JAVA_OPTS: -Xmx384m -Xss512k -XX:+UseCompressedOops”。
我还尝试将 -Xmx384m -Xss512k -XX:+UseCompressedOops 附加到 Procfile,但同样没有用。
我怎样才能做到这一点?
【问题讨论】:
标签: java heroku jvm playframework-2.2