上週我們升級這是on Rails的3.0.1運行到Rails 3.2.2一個小項目。嚴重的內存泄露/ Rails中3.0升級後膨脹到Rails 3.2(紅寶石1.9.3 +乘客)
不久升級後,我們認識到,偶爾,每日2-3次,我們seening一個巨大的Phusion客運過程(1-5 GB)。
我們正在運行的Phusion客運3.0.11和Ruby 1.9.3-P0。我們已經嘗試了不同的Ruby版本(1.9.2-p290和1.9.3-p125),但沒有成功。
之後,我們試圖跟蹤我們的內存使用Oink。不幸的是,Oink沒有顯示內存膨脹的原因 - 大型進程似乎不再寫入日誌文件。
當我們降級到3.0.1的Rails問題了。有沒有人有類似的問題?我們確實檢查了我們的代碼是否有可能的內存泄漏,例如太多的ActiveRecord實例,但沒有找到任何內容。
你認爲試試獨角獸代替乘客是否值得?或者我們很可能會遇到同樣的問題?
任何有關如何追蹤內存泄漏的建議都是值得歡迎的。我們已經設置了newrelic,但沒有顯示關於內存泄漏的詳細信息。
我們已經用獨角獸設置取代了乘客,現在系統按預期工作。如果這是普通乘客問題,或者Passenger/rvm可能存在問題(也許我們最近安裝/升級了它),那麼我不這麼做。 – 2012-03-01 19:00:25
你會介意分享你的獨角獸設置?我有完全相同的問題,需要每6小時重新啓動服務器以防止內存溢出! – 2012-04-09 13:31:52
對不起,對於遲到的答案。那麼......分享獨角獸設置可能太多,不能作爲評論發佈在這裏。快速的Google搜索應該可以幫到你。也許你從這裏開始:https://github.com/blog/517-unicorn。基本上它只是nginx與獨角獸作爲上游服務器。獨角獸設置只是一個簡單的unicorn.rb在配置....花了我們大概一個小時從乘客轉換。另一個將獨角獸部署的東西添加到我們的Capistrano配置中。 – 2012-05-07 16:15:08