很多云服务器(如阿里云)没有开启 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
评论 (0)