2013-09-26 31 views
1

我有它運行在Heroku之後,它打擊了sidekiq進程已經運行了此錯誤消息的同時:Sidekiq在Heroku - 錯誤R14(內存超出配額)

錯誤R14(內存配額超過)

任何人都可以給我任何關於如何開始診斷至於發生了什麼的指針嗎?

沒有什麼明顯的可能導致這種情況。

回答

1

我們正面臨同樣的問題,並決定讓Newrelic做重大舉措並幫助我們進行診斷。您可能會使用一些免費的Newrelic計劃,但如果沒有足夠深入您的代碼,您可能需要考慮爲Pro版付費一個月,以幫助您分析應用程序。

因爲我們即將切換到Pro(等待Newrelic接受該計劃),所以我不能幫助你做任何進一步的工作,所以沒有更多的見解,但認爲它可以幫助你看看它。

如果你不想使用NewRelic的,Heroku的也有一個實驗室功能,將配置內存使用和日誌報告,以使其:

heroku labs:enable log-runtime-metrics 

然後,它會告訴你多少內存你的每個dynos都在使用。

您遇到的錯誤是Heroku上的內存超出了內存配額。 Heroku有這樣的說法:

Dynos的進程超過其內存配額在日誌中標識爲 R14錯誤。這不會終止該進程,但它確實會對應用程序狀況惡化發出警告:在配額 之上使用的內存將換出到磁盤,這會顯着降低動態性能。

This page有更多信息。

0

嘗試降低併發性。 Sidekiq的默認值是25.我將它降低到15,並且它大大減少了內存使用並消除了內存交換錯誤。

Memory Usage Graph

相關問題