云服务器配置Swap分区解决Cannot Allocate Memory

在云服务器上运行Java程序、用GCC编译、运行Ruby脚本都有可能报Cannot Allocate Memory这个错误。

造成这个错误的原因是:云服务器默认没有挂载Swap分区。

# 创建一个全0填充的2GB文件。InputFile利用Linux系统的/dev/zero。bs是BlockSize。
sudo dd if=/dev/zero of=/mnt/2GB.swap bs=1M count=2048

# 把该文件格式化为Swap文件
sudo mkswap /mnt/2GB.swap

# 把该Swap文件挂载为Swap分区
sudo swapon /mnt/2GB.swap

# 检查是否成功挂载。Swap那一行现在就不是0了。
$ free -m
             total       used       free     shared    buffers     cached
Mem:           992        917         75         37         19         62
-/+ buffers/cache:        834        158
Swap:         2047          0       2047

# 配置fstab,使开机时自动挂载Swap文件为Swap分区
sudo vim /etc/fstab

# 在/ect/fstab中添加
/mnt/2GB.swap none swap sw 0 0

你可能感兴趣的:(云服务器配置Swap分区解决Cannot Allocate Memory)