想看看是否有人对诊断 Heroku 错误 R14(超出内存配额)错误有任何建议或进一步阅读我从我的 django 应用程序的 heroku 日志中的 web dynos 得到的错误。
一个示例日志是:
heroku[web.1]: source=web.1 dyno=heroku.16810889.deec8406-c082-445d-a047-d0026849fd5e sample#load_avg_1m=0.01 sample#load_avg_5m=0.03 sample#load_avg_15m=0.04
heroku[web.1]: source=web.1 dyno=heroku.16810889.deec8406-c082-445d-a047-d0026849fd5e sample#memory_total=512.06MB sample#memory_rss=511.84MB sample#memory_cache=0.00MB sample#memory_swap=0.22MB sample#memory_pgpgin=380186624pages sample#memory_pgpgout=364599pages
heroku[web.1]: Process running mem=512M(100.0%)
heroku[web.1]: Error R14 (Memory quota exceeded)
一些背景信息、观察和我尝试过的事情:
- 大部分内存都被 memory_rss 消耗(谷歌搜索 heroku“memory_rss”并没有出现太多)
- 缩放或取消缩放 web dyno 的数量没有效果,每个新的 web dyno 很快就会达到 512M (100%)。它总是在 100% 处停止,并且不会更高。重新启动 dynos 只能缓解 10-15 分钟的问题。
- 这个问题只影响网络测功机。我有一个 celery scheduler 和一个 celery worker dyno 运行良好。celery.1 内存总量徘徊在 100MB 左右。
- 这是我来自 New Relic 的实例破折号:
我们还在不同的 Heroku 实例(临时服务器)上运行完全相同的代码,内存从未超过 160MB,因此它似乎是特定于服务器的(至少在某种程度上)。
关于我接下来应该看哪里的任何建议?我还能提供哪些其他有用的信息?谢谢