我有一个在heroku上运行的sidekiq进程,在运行一段时间之后会出现这个错误消息:
错误R14(超出内存配额)
任何人都可以给我任何关于如何开始诊断的指示吗?
没有任何明显可能导致这种情况。
答案 0 :(得分:1)
我们面临着同样的问题,并决定让Newrelic完成繁重工作并帮助我们进行诊断。您可以使用一些免费的Newrelic计划,但如果它们都没有深入到您的代码中,您可能需要考虑支付Pro版本一个月以帮助您分析您的应用程序。
我无法帮助你,因为我们即将切换到Pro(等待Newrelic接受该计划)所以没有更多的见解,但认为它可能会帮助你看看它。
如果您不想使用Newrelic,Heroku还有一个实验室功能,可以分析内存使用情况并向日志报告,启用它:
heroku labs:enable log-runtime-metrics
然后它会显示你的每个dynos使用多少内存。
你得到的错误是Heroku上的内存超过了内存配额。 Heroku对此有这样的说法:
其进程超过其内存配额的Dynos由a标识 日志中的R14错误。这不会终止进程,但确实如此 警告应用条件恶化:超过配额使用的内存 将换出磁盘,这会大大降低dyno的性能。
This page有更多信息。
答案 1 :(得分:0)