2016-12-01 109 views
1
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日誌中出現以上錯誤。我不明白解決方案以及爲何發生此錯誤。錯誤R14(超出內存配額)+ Heroku + Passenger

我的服務器確認是高 -

  1. 專業DYNOS
  2. 2X工人
  3. 高級Redis的計劃 - ($ 15)
  4. 數據庫是 - 標準4計劃

但仍得到這個錯誤

回答

2

I建議您使用Name.all.each do |block|查看代碼並將其更改爲Name.find_each do |block|。這樣,您可以通過不一次加載整個模型來節省內存。

也嘗試運行一些基準測試,以便您可以找到內存泄漏導致R14錯誤。

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

相關問題