linux内存不够用时如何新增交换分区, 保证系统不崩溃

81 阅读1分钟

创建新的交换文件
例如,我们增加一个 4GB 的交换文件:
sudo fallocate -l 4G /swapfile2

如果 fallocate 命令不可用,可以使用 dd 命令:

sudo dd if=/dev/zero of=/swapfile2 bs=1M count=4096

设置正确的权限

确保只有 root 用户可以访问交换文件:

sudo chmod 600 /swapfile2

配置交换文件

将这个文件格式化为交换空间:

sudo mkswap /swapfile2

启用交换文件

激活交换文件:

sudo swapon /swapfile2

验证

使用 free -h 命令检查新的交换空间是否已被激活:

free -h

持久化设置

为了使交换文件在系统重启后仍然有效,需要将其添加到 /etc/fstab 文件中。

编辑 /etc/fstab

打开 /etc/fstab 文件:

sudo nano /etc/fstab
​

添加新的交换文件条目

在文件末尾添加以下行:

/swapfile2 none swap sw 0 0
​

你的 /etc/fstab 文件现在可能看起来像这样:

# swap was on /dev/nvme0n1p2 during installation
UUID=dec446cd-71a0-49ad-8718-66c0a1f5a1d4 none            swap    sw              0       0
/swapfile2 none swap sw 0 0
​
  1. 保存并退出
    保存并退出编辑器(在 Nano 中按 Ctrl+O 保存,按 Enter 确认,然后按 Ctrl+X 退出)。

验证

  1. 重新启用所有交换文件和分区
    通过以下命令重新启用所有交换文件和分区:
  2. sudo swapoff -a
    sudo swapon -a

检查交换空间

使用 free -h 命令查看新的交换空间总量:

free -h

你应该看到交换空间的总量已经增加。