2017-08-31 77 views
1

我工作的一個Ruby on Rails應用程序具有內存泄漏,所以最終它時,有沒有更多的內存崩潰。然而,在最後階段,它基本上只運行GC並處理很少的請求,所以基本上就是DoS-ing本身。對於我的應用,此DoS時間介於1小時和6小時之間!配置MRI Ruby的GC快速失敗

我試圖找到內存泄漏,但至今沒有運氣,所以現在我想找到生產服務器的解決方法。

是否有配置MRI的Ruby GC這樣,當它達到內存限制,然後它只是崩潰的方法嗎?我的意思是當Ruby嘗試分配更多內存並且操作系統拒絕它時第一次崩潰。

回答

0

據我所知,你不能這樣做。 (?OOM也許):

但是你有另一個選擇

  1. 設置的東西在你的系統,這將阻止紅寶石使用太多內存
  2. 設置你的Web服務器上殺死自己 - 就像在this gem