步骤 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. 应用程序未占用大量内存
如果您正在运行的应用程序的内存需求较低,系统也不会使用交换空间。只有在内存使用接近极限时,系统才会开始使用交换空间。
总结
如果您希望系统使用交换空间,可以尝试以下操作:
- 增加系统的负载,运行一些需要大量内存的应用程序。
- 调整
swappiness
参数,使系统更倾向于使用交换空间。