SSH和-bash:fork:不能分配内存VPS Ubuntu

我在Ubuntu 12.04 VPS,Nginx + Unicorn上托pipe我的Rails应用程序,部署后一切都很好,但几个小时后,当我SSH的VPS我得到这个消息

-bash: fork: Cannot allocate memory -bash: wait_for: No record of process 4201 -bash: wait_for: No record of process 4201 

如果我运行任何命令,它只会返回

 -bash: fork: Cannot allocate memory. 

似乎你已经用完了内存。 许多VPS服务器没有交换设置,所以当内存不足时,它会以一种看似随意的方式关闭。

解决这个问题最简单的方法是获得更多的内存供应给您的VPS,可能花费更多的钱。 下一个最好的方法(除了运行更少的内容和优化所有运行的内存)将是添加一个交换分区或交换文件。

对于1GB的交换文件(以root身份):

 dd if=/dev/zero of=/swapfile bs=1M count=1024 mkswap /swapfile swapon /swapfile 

请确保将其添加到/ etc / fstab中,如下所示:

 /swapfile none swap defaults 0 0 

这将使它重新启动后回来。