我们在安装系统的时候已经建立了 swap 分区。swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。

——百度百科

当我们想要搭建一个自己用来学习或分享知识的网站的时候,往往会从云服务器厂商那个购买虚拟服务器,但是高配置的服务器价格很高,如果需求量不大的话我们往往会选择最低档的,而最低档的服务器一般给到的内存规格只有1GB甚至只有512MB。

如果需要部署一些应用,比如ELK、Gitlab等,那这么点内存甚至都没法顺利启动,所以这个时候就可以借用一些存储空间来创建swap分区,以缓解内存不够的问题。

当然存储空间的速度比内存慢了好几个数量级,不过反正是个人网站,先保证能用再说。

下面就是创建swap分区的详细步骤:

  1. 依次执行以下命令,创建一个空文件,锁定文件的大小。

sudo mkdir -v /var/cache/swap 
cd /var/cache/swap 
sudo dd if=/dev/zero of=swapfile bs=1K count=2M

说明:文件的具体大小建议设定为内存的两倍。此处的1K×2M=2GiB。

  1. 执行以下命令,将新建的文件转换为swap文件。

sudo mkswap swapfile
  1. 执行以下命令,给文件授权。

sudo chmod 600 swapfile
  1. 执行以下命令,启用swap分区。

sudo swapon swapfile
  1. 执行以下命令,进行验证。

swapon -s
top -bn1 | grep -i swap

系统显示类似如下。

MiB Swap:   2048.0 total,   2048.0 free
  1. 执行以下命令,将该分区设置成开机自启。

echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
  1. 执行以下命令,测试开机是否加载swap分区。

sudo swapoff swapfile 
sudo swapon -va