在 Debian 12 中增加 swap 空间教程

步骤 1: 检查当前的 swap 使用情况

首先,您可以检查当前的 swap 使用情况,以便了解是否需要增加 swap 空间:

swapon --show
free -h

步骤 2: 创建一个新的交换文件

选择一个合适的大小(例如 2GB),并用 dd 命令创建一个新的交换文件。这里以 2GB 为例:

sudo fallocate -l 2G /swapfile

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

sudo dd if=/dev/zero of=/swapfile bs=1G count=2

步骤 3: 设置交换文件的权限

为了安全起见,需要设置正确的权限,使得只有 root 用户能够访问这个文件:

sudo chmod 600 /swapfile

步骤 4: 将文件格式化为交换空间

接下来,将新创建的文件格式化为交换空间:

sudo mkswap /swapfile

步骤 5: 启用交换文件

启用刚才创建的交换文件:

sudo swapon /swapfile

步骤 6: 验证交换空间

再次检查 swap 是否已成功添加:

swapon --show
free -h

步骤 7: 使交换文件在系统重启后自动挂载

要确保在每次启动时都能自动挂载这个交换文件,需要将其添加到 /etc/fstab 文件中。打开该文件:

sudo nano /etc/fstab

在文件末尾添加以下行:

/swapfile none swap sw 0 0

保存并退出编辑器。

完成

现在,您已经成功地在 Debian 12 上增加了 swap 空间。如果需要调整 swap 的大小,您可以删除现有的交换文件,然后重复上述步骤,指定所需的新大小。

在您按照上述步骤创建和启用交换文件后,交换空间会立即生效。您可以通过以下命令来验证:

swapon --show
free -h

如果您看到新的 swap 空间显示在输出中,那么它已经成功启用。

注意事项

  • 只有在您修改了 /etc/fstab 文件以确保交换文件在系统重启后自动挂载时,才需要重启。
  • 如果您想要临时禁用交换文件,可以使用以下命令:sudo swapoff /swapfile
  • 要重新启用交换文件,可以再次运行:sudo swapon /swapfile

交换空间使用率为 0% 通常表示系统当前没有使用交换空间。这可能有几个原因:

1. 内存使用情况良好

如果您的系统内存(RAM)有足够的可用空间,Linux 系统通常不会主动使用交换空间。根据您之前提供的信息,您的系统有大约 85 MiB 的空闲 RAM,这意味着系统在正常情况下不需要使用 swap。

2. Swappiness 设置

Linux 使用一个名为 swappiness 的参数来决定何时使用交换空间。这个参数的值范围是 0 到 100:

  • 值较低(如 10)会使系统更倾向于使用物理内存,而不是交换空间。
  • 值较高(如 60 或更高)则表示系统会更频繁地使用交换空间。

可以通过以下命令查看当前的 swappiness 值:

cat /proc/sys/vm/swappiness

如果您希望系统更积极地使用交换空间,可以考虑将其设置为一个更高的值(例如 60)。要临时更改 swappiness 值,可以使用以下命令:

sudo sysctl vm.swappiness=60

要永久更改,请编辑 /etc/sysctl.conf 文件并添加或修改以下行:

vm.swappiness=60

然后应用更改:

sudo sysctl -p
3. 系统负载较轻

如果您的系统负载较轻,且没有运行大量的应用程序或进程,系统可能根本不需要使用交换空间。在这种情况下,即使您有配置好的交换空间,它也不会被使用。

4. 应用程序未占用大量内存

如果您正在运行的应用程序的内存需求较低,系统也不会使用交换空间。只有在内存使用接近极限时,系统才会开始使用交换空间。

总结

如果您希望系统使用交换空间,可以尝试以下操作:

  1. 增加系统的负载,运行一些需要大量内存的应用程序。
  2. 调整 swappiness 参数,使系统更倾向于使用交换空间。
THE END