2012-04-11 43 views
0

我們正在服務器上運行2個Rails應用程序,內存爲4GB。兩臺服務器都使用Rails 3.2.1,並且在開發或生產模式下運行時,服務器每天以不可思議的速度吃掉ram,耗費高達1.07GB ram。保持服務器運行僅4天就會觸發監控中的所有內存警報,而我們只有98MB的RAM空閒空間。Rails服務器內存泄漏/膨脹問題

我們嘗試了與腹脹有關的主動記錄優化,但仍然沒有效果。請幫助我們弄清楚如何追蹤哪個控制器出現故障的問題。

使用mysql數據庫和webrick服務器。 謝謝!

+0

您在生產中使用Webrick? – Ernest 2012-04-11 10:53:55

+0

您可以嘗試使用遺物rpm工具來檢查正在進行的wats。 – 2012-04-11 11:21:11

+1

刺在黑暗中:psych(yaml解析器)在1.9.2中泄漏內存 - 檢查YAML :: ENGINE – 2012-04-11 11:22:15

回答

1

這是非常難以回答的,而無需查看項目細節本身。雖然我確定你不會在你的目標生產版本中使用Webrick(對吧?),所以請檢查它在Passenger下的行爲是否相同,或者你選擇什麼。

也不知道項目的細節我會建議看看生成pdf,csv解析等功能。看到一個案例,其中生成PDF文件一直在以類似的方式吃資源,留下像5MB的不垃圾爲每次運行收集內存。

祝你好運。

+0

如果使用Passenger,則會出現[PassengerMaxRequests](http://www.modrails.com/documentation/Users%20guide% 20Apache.html#PassengerMaxRequests)選項,您可以使用它在一定數量的請求後重新啓動服務器實例。雖然它明確指出你應該在你的應用程序中理清內存泄漏問題。 – theodorton 2012-05-18 21:00:29