转自黎明互联:在云服务器(阿里云)上增加SWAP分区交换分区.
很多云服务器(如阿里云)没有开启swap交换分区,安装某些比较占用内存的服务(例如MySQL5.7+、gitlab等)时如果物理内存不够则会安装失败,一种解决方案是购买更大的内存,另一种方案是可以设置交换分区,下面就以阿里云CentOS为例介绍一下增加交换分区的方法。
首先创建一个文件用于swap分区,下面命令可以创建一个4G的文件,时间会稍长,耐心等待一下
dd if=/dev/zero of=/data/swap bs=512 count=8388616
bs*count即为容量,如果需要2G的swap可以使用
dd if=/dev/zero of=/data/swap bs=1k count=2048000
of=后面是创建的文件路径,这里以/data/swap为例,如果创建在其他目录下后续的命令也要修改为自己的目录。
将文件设置为swap分区
mkswap /data/swap
启用swap分区
swapon /data/swap
添加到指令到fstab文件中这样系统引导时会自动启动
echo "/data/swap swap swap defaults 0 0" >> /etc/fstab
查看是否生效可用free -m
如果需要关闭swap分区可以依次执行如下命令
swapoff /data/swap
swapoff -a >/dev/null
rm -rf /data/swap