Ubuntu创建SWAP交换分区

最近得知一个以前比较熟悉的厂商的linux运维面板【1Panel】想尝试一下,同时朋友说aws有免费的小主机,所以决定拿来体验1Panel。奈何免费小主机配置太低,内存压力过大。所以决定加一点交换分区,应该能缓解不少。

还有一点需要提出,交换空间不可视为简单的内存(RAM)的扩展,而是各有特性。并且要善用交换空间,否则会导致性能不升反降。后面有时间的话,我给大家整理一下关于交换空间的更多信息。

创建交换空间文件

这是我在实验并体验中的AWS EC2的配置,内存只有1G,所以我决定为它添加2G的交换空间。这里继续插一句,交换空间的大小一般众说纷纭,我个人比较习惯的做法是在小于4G的时候添加两倍于内存的交换空间,这个可以由自己的实际需求和经验来决定。

  • 创建一个指定大小的文件

通常要创建一个指定大小的文件,我习惯使用dd的方式。并要注意文件权限。默认情况下交换空间只有root才可以读写,所以我们可以设置权限为600

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile
  • 格式化这个新文件
    格式化的目的是使它变为交换空间专用的文件系统格式。

    sudo mkswap /swapfile
  • 启用交换空间

    虽然我们准备好了交换空间文件,并也用专用工具格式化了该空间,但是我们还是要手动启动该空间。

    sudo swapon /swapfile

到这一步交换空间就算准备好了。给大家看看效果。

但是还有个小瑕疵,就是目前的这个交换空间重启后就会不起作用,因为它并没有系统的分区挂载表fstab里面,当然这对云服务器来说,其实并不算个问题,因为不会存在经常重启的情况,但是我们还是可以通过一个简单的操作,把它添加进分区挂载表,以防不测。

echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab

到此,交换分区就添加完成,并加入分区挂载表里面了,不再惧怕重启了。

最后给大家说一下怎么确认交换分区已经开始发光发热了。

htop
swapon -show
free -h

![]()

参考

如何在Ubuntu 20.04添加交换空间

最后修改:2023 年 07 月 07 日
如果觉得我的文章对你有用,请随意赞赏