错误 R14(超出内存配额)+ Heroku + Passenger

Error R14 (Memory quota exceeded) + Heroku + Passenger

2016-12-01T14:26:14.421530+00:00 heroku[run.6714]: Error R14 (Memory quota exceeded)
2016-12-01T14:25:51+00:00 app[heroku-redis]: source=REDIS sample#active-connections=1 sample#load-avg-1m=0.07 sample#load-avg-5m=0.09 sample#load-avg-15m=0.075 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664468.0kB sample#memory-free=11956144.0kB sample#memory-cached=2248760.0kB sample#memory-redis=1421856bytes sample#hit-rate=1 sample#evicted-keys=0
2016-12-01T14:26:35.660410+00:00 heroku[run.6714]: Process running mem=780M(152.4%)
2016-12-01T14:26:35.660501+00:00 heroku[run.6714]: Error R14 (Memory quota exceeded)

我在 heroku 日志中遇到上述错误。我不明白解决方案以及为什么会出现此错误。

我的服务器确认度很高 -

  1. 专业测功机
  2. 2X 工人
  3. 高级 Redis 计划 - ($15)
  4. 数据库是 - 标准 4 计划

但仍然出现此错误

我建议你看一下带Name.all.each do |block|的代码,改成Name.find_each do |block|。这样您就可以通过不一次加载整个模型来节省内存。

同时尝试 运行 一些基准测试,以便您可以找到导致 R14 错误的内存泄漏

这 link 为您提供更多信息 https://devcenter.heroku.com/articles/ruby-memory-use#memory-leaks