2016-06-14 49 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。这对于此服务器设置是明智的。在这里,你可以看到我不交换内存。是否可以添加交换内存来解决这个问题,或者有其他更好的选择。

回答