温馨提示×

如何关闭debian swap分区

小樊
36
2026-09-20 07:21:07
栏目: 智能运维

在 Debian 中“关闭 swap 分区”通常有两种含义:

  1. 临时关闭(重启后恢复)
  2. 永久关闭(系统不再使用 swap 分区)

下面分别说明。


一、临时关闭 swap 分区(立即生效,重启失效)

1. 查看当前 swap 使用情况

swapon --show
# 或
free -h

2. 关闭所有 swap

sudo swapoff -a

如果是某个具体分区,例如 /dev/sda2

sudo swapoff /dev/sda2

注意:如果有大量数据在 swap 中,关闭时可能会稍慢。


二、永久关闭 swap 分区(重启后仍不启用)

方法 1:注释 /etc/fstab 中的 swap 配置(推荐)

  1. 编辑 fstab
sudo nano /etc/fstab
  1. 找到类似下面的行:
/dev/sda2 none swap sw 0 0
# 或
UUID=xxxx-xxxx none swap sw 0 0
  1. 在该行前加 # 注释掉:
# /dev/sda2 none swap sw 0 0
  1. 保存并退出,然后重启:
sudo reboot

方法 2:彻底删除 swap 分区(物理删除)

如果你不再需要这个分区:

  1. 先关闭 swap
sudo swapoff -a
  1. 删除 fstab 中的 swap 行(同上)

  2. 使用 fdisk / parted 删除分区(⚠️ 有数据风险)

sudo fdisk /dev/sda

删除对应分区后 w 保存


三、验证 swap 是否已关闭

free -h
swapon --show

如果没有任何输出,说明 swap 已成功关闭。


四、补充说明(重要)

  • 不建议完全关闭 swap 的场景

    • 内存较小(< 4GB)
    • 运行数据库(MySQL / PostgreSQL)
    • OOM(内存耗尽)风险较高
  • 如果只是为了“减少 swap 使用”,可以调整 swappiness

sudo sysctl vm.swappiness=10

永久生效:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

如果你愿意,可以告诉我:

  • 你是 物理机 / 虚拟机 / 云服务器
  • swap 是 分区还是文件
  • 关闭 swap 的目的(省资源?防止写盘?)

我可以给你更精确的建议。

0