2016-06-14 47 views
0

我正在亞馬遜AWS上運行帶有乘客的rails應用程序(dev服務器),其中包含t2.micro實例。但我不斷得到-bash: fork: Cannot allocate memory錯誤。SSH和-bash:fork:無法分配內存Ubuntu,rails,Passenger,redis,sidekiq

我正在運行redis服務器上有50個sidekiq併發。通常網站運行良好,但是當我同時啓動2-3 sidekiq過程做一些批處理。該網站需要花時間來重定向,並與

502 Bad Gateway 
nginx/1.10.0 

eventylly崩潰以後,我讓nginx每次重新啓動以獲得該網站再次運行。這是我的開發服務器,所以我不想投入更多資金升級到t2.small(截至目前,這是我們的最後一種選擇),因爲這是開發服務,並將在15天內使用兩次。有什麼辦法可以解決這個問題嗎?以前我有120次併發作爲生產,但後來我改爲50.這有點幫助但仍然是內存問題。

這裏有一些統計與htop

enter image description here

此統計信息是在服務器處於空閒狀態。但是當我用sidekiq運行幾個任務它崩潰與502.

我檢查幾個post暗示交換內存,但不知道這是更好的t2.micro。這對於此服務器設置是明智的。在這裏,你可以看到我不交換內存。是否可以添加交換內存來解決這個問題,或者有其他更好的選擇。

回答