【发布时间】:2013-10-01 21:51:52
【问题描述】:
我有一个在 heroku 上运行的 sidekiq 进程,它在运行一段时间后崩溃并显示以下错误消息:
错误 R14(超出内存配额)
谁能给我任何关于如何开始诊断发生的事情的指示?
没有什么明显的原因可能导致这种情况。
【问题讨论】:
我有一个在 heroku 上运行的 sidekiq 进程,它在运行一段时间后崩溃并显示以下错误消息:
错误 R14(超出内存配额)
谁能给我任何关于如何开始诊断发生的事情的指示?
没有什么明显的原因可能导致这种情况。
【问题讨论】:
我们也面临同样的问题,因此决定让 Newrelic 承担繁重的工作并帮助我们进行诊断。您可能可以使用一些免费的 Newrelic 计划,但如果它们都没有深入到您的代码中,您可能需要考虑为 Pro 版本支付一个月的费用,以帮助您分析您的应用程序。
我无法进一步帮助您,因为我们即将切换到 Pro(等待 Newrelic 接受该计划)所以没有更多的见解,但认为它可能会帮助您查看它。
如果您不想使用 Newrelic,Heroku 还有一个实验室功能,可以分析内存使用情况并报告到日志,启用它:
heroku labs:enable log-runtime-metrics
然后它将显示您的每个测功机正在使用多少内存。
您遇到的错误是 Heroku 上的内存超出内存配额。 Heroku 对此有话要说:
进程超出其内存配额的 Dynos 由 日志中出现 R14 错误。这不会终止进程,但会 警告恶化的应用程序条件:内存使用超过配额 将换出到磁盘,这会大大降低测功机性能。
This page 有更多信息。
【讨论】: