我在Ubuntu 12.04 VPS,Nginx Unicorn上托管我的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
这将使它在重启后重新回来.