参考: http://www.mydiscourse.org/t/discourse/27
digital ocean虚拟主机默认是没有开启swap功能的。对于最低配的512M内存的主机,一般需要一个512M或者1G的swap比较好,不然内存很可能不够用导致进程挂掉。
所以只好自己动手配置swap。
首先要创建一个swap格式的文件:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k
dd命令是专门用来从一个文件复制并格式成另一个文件。这条命令的意思是从"/dev/zero"文件读出内容并存到/swapfile文件中,块大小为1024Byte,总共 512 K个块,也就是总共 512M。
然后设置并开启交换文件:
sudo mkswap /swapfile
sudo swapon /swapfile
最后设置开机自动装载swap文件:
编辑 /etc/fstab ,加入如下一行:
/swapfile none swap defaults 0 0
/etc/fstab 是存放文件系统信息的地方,系统启动的时候会自动从这里面读取并装载文件系统。其中前三个参数并别表示:
要装载的文件系统物理位置(就是我们上一步创建的那个swap文件),挂载点(对于swap设置为none就行了),文件格式(swap格式)
然后用free命令查看下内存使用情况,在物理内存下应该能看到swap的信息:
total used free shared buffers cached
Mem: 1027156 721928 305228 0 9840 267224
-/+ buffers/cache: 444864 582292
Swap: 524284 0 524284
或者用swapon -s直接查看swap信息:
Filename Type Size Used Priority
/swapfile file 524284 0 -1