温馨提示×

如何关闭CentOS的Swap功能

小樊
45
2026-07-19 09:22:15
栏目: 智能运维

在 CentOS 上关闭 Swap 可以按临时关闭永久关闭两种方式进行。以下是推荐的安全操作流程。


一、临时关闭 Swap(重启后失效)

1. 查看当前 Swap 状态

free -h
swapon -s

2. 临时关闭 Swap

sudo swapoff -a

⚠️ 注意:

  • 执行前确保系统内存充足,否则可能导致 OOM
  • 该操作立即生效,但重启后会恢复

3. 确认已关闭

free -h

看到 Swap 为 0 即表示成功。


二、永久关闭 Swap(推荐方式)

方法一:禁用 Swap 自动挂载(最常用 ✅)

1. 编辑 fstab 文件

sudo vi /etc/fstab

2. 找到包含 swap 的行,例如:

/dev/mapper/centos-swap swap swap defaults 0 0

UUID=xxxx-swap swap swap defaults 0 0

3. 在该行前加 # 注释掉:

# /dev/mapper/centos-swap swap swap defaults 0 0

4. 保存后执行

sudo swapoff -a

✅ 下次重启不再启用 Swap。


方法二:彻底删除 Swap 分区(慎用 ⚠️)

适用于你确认不再需要 Swap 分区

1. 关闭 Swap

sudo swapoff -a

2. 删除 Swap 分区或 LV

sudo lvremove /dev/mapper/centos-swap

3. 同时修改 /etc/fstab,删除对应行

❗ 删除分区前请确认挂载点和用途,避免误删系统分区。


三、验证是否关闭成功

1. 查看 Swap

free -h
swapon -s

2. 重启后检查

reboot
free -h

四、常见使用场景说明

场景 建议
Kubernetes 节点 必须关闭 Swap
数据库服务器 通常建议关闭
内存较小 VM 可保留 Swap
高性能计算 建议关闭

五、通过 systemd 禁用(部分系统)

sudo systemctl mask swap.target

✅ 可作为补充手段,但不如 /etc/fstab 通用。


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

  • CentOS 版本(7 / 8 / Stream)
  • 是否是云服务器
  • 是否用于 Kubernetes / Docker

我可以给你最合适的一套完整配置方案

0