错误R14(超过内存配额) HEROKU 乘客


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. 专业dynos
  2. 2x工人
  3. Premium redis计划 - ($ 15)
  4. 数据库是 - 标准4计划

但仍会遇到此错误

我建议您使用Name.all.each do |block|查看代码,然后将其更改为Name.find_each do |block|。这样,您可以通过不一次加载整个模型来节省内存。

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

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

最新更新