小残曦 - swap
type: channel
link: https://canxi.cc/tag/swap/
items: 在 Debian 12 中增加 swap 空间

在 Debian 12 中增加 swap 空间
type: item
date: 2025-04-25T09:30:00+00:00
description: 事件起因是我的香港小鸡只有 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 空间显示在输出中，那么它已经成功启用.