【问题标题】:After updating to Play 2.2 I get "Memory quota exceeded" errors on Heroku更新到 Play 2.2 后,我在 Heroku 上收到“超出内存配额”错误
【发布时间】:2013-10-16 10:04:33
【问题描述】:

如前所述,我最近在 Heroku 上遇到了 R14 错误。即使将最大堆设置为例如,也会发生这种情况300M。

仅供参考:在我的本地机器上,进程永远不会超过 400M,堆——即使在负载测试下——也永远不会超过 250M。我使用 Scalate 作为模板引擎。

任何想法为什么会发生这种情况以及如何解决它?

【问题讨论】:

  • 它可能是堆以外的其他东西,heroku 内存限制是堆+所有其他类型的内存、线程堆栈等。虽然很难调试。已经看到一些人解析一些 proc 文件以尝试查看在 JVM 之外使用内存的内容,但我自己却收效甚微。
  • 我们遇到了同样的问题,您找到解决方案了吗?
  • 嘿。并不真地。我确实将 2x dyno 和 1G mem 用于生产系统,这是一种解决方法,但也有效,而且 Heroku 也推荐了它。对于我们的测试系统,我只是忽略了错误。 “超出内存配额”只是一个警告,没有实际影响,我们系统上的内存使用率稳定在 100%。所以这不再是问题了。
  • 我认为自玩 2.2 以来,它不会从 Heroku 获取内存配置,jvms 只会占用它获得的内存。这只是猜测,我还没有弄清楚如何设置。

标签: heroku playframework-2.0


【解决方案1】:

play 2.2.0 在 JAVA_OPTS 的大小写敏感方面存在问题,这就是您的内存配置不被尊重的原因。看到这个帖子https://github.com/playframework/playframework/pull/1928

它已在 play 2.2.2 中修复,所以我想这不再是问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-01
    • 2016-03-01
    • 2015-03-24
    • 2014-07-14
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    相关资源
    最近更新 更多