温馨提示×

怎么禁用swap分区

小樊
37
2026-08-12 00:05:50
栏目: 编程语言

禁用 swap 分区(或 swap 文件)在 Linux 系统中是常见操作,通常用于服务器或内存充足的场景。下面按临时禁用永久禁用两种方式来说明,并给出验证方法。


一、临时禁用 swap(重启后失效)

1. 查看当前 swap 使用情况

swapon --show
free -h

2. 立即关闭所有 swap

sudo swapoff -a

说明:

  • -a 表示关闭 /etc/fstab 中定义的所有 swap
  • 如果 swap 使用较多,这个命令可能需要一点时间

3. 验证是否已关闭

free -h

看到 Swap 行全部为 0 即表示已禁用。


二、永久禁用 swap(重启仍生效)

方法一:注释 /etc/fstab 中的 swap(推荐)

  1. 编辑 fstab 文件
sudo vim /etc/fstab
  1. 找到类似下面的行(可能不同):
UUID=xxxx-none swap swap defaults 0 0

/dev/sda2 none swap sw 0 0
  1. 注释掉(在行首加 #):
# UUID=xxxx-none swap swap defaults 0 0
  1. 保存后重启
sudo reboot

方法二:只删除 swap 文件(如果是 swapfile)

如果你用的是 swap 文件(如 /swapfile):

sudo swapoff /swapfile
sudo rm /swapfile

然后确认 /etc/fstab 中没有 /swapfile 相关行。


三、只禁用某个 swap 分区(而不是全部)

sudo swapoff /dev/sdXN

例如:

sudo swapoff /dev/sda2

四、验证 swap 状态

swapon --show
free -h
cat /proc/swaps

如果输出为空,说明 swap 已完全禁用。


五、常见注意事项

  • 内存充足时禁用 swap 可减少磁盘 IO
  • ⚠️ 内存较小(< 2GB)不建议禁用 swap,可能导致 OOM
  • ⚠️ 某些数据库(如 Oracle、SAP)对 swap 有特殊要求
  • 禁用 swap 不会影响系统运行,但内存耗尽时可能直接 kill 进程

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

  • 你的 Linux 发行版(CentOS / Ubuntu / Debian / Rocky 等)
  • 是物理机还是云服务器
  • 是 swap 分区还是 swap 文件

我可以给你更精确的操作方案

0