在 Debian 12 中增加 swap 空间

技术·学习 · 04-25 · 137 人浏览

事件起因是我的香港小鸡只有 1G 的内存,在运行多个 Docker 容器后,剩余内存仅有 60M 左右,导致 SSH 无法连接。通过服务器面板手动硬重启后,解决了登录问题。想起可以使用 Swap 分区来缓存内存中不常用的数据,这样即使只有 1G 的内存,也能较流畅地使用 Docker
首先,检查当前的 swap 是否使用及内存的使用情况,以便了解是否需要增加 swap 空间:

swapon --show
free -h

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

选择一个合适的大小(例如 2GB,这里我内存是1G,推荐设置为1:2),并用 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

保存Ctrl + O,然后按 Enter 键确认

完成

现在,已经成功地在 Debian 12 上增加了 swap 空间

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

swapon --show
free -h

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

2025-04-28T05:06:07.png

swap
Theme Jasmine by Kent Liao