【发布时间】: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 只会占用它获得的内存。这只是猜测,我还没有弄清楚如何设置。