温馨提示×

怎么禁用CentOS的Swap

小樊
36
2026-08-18 09:56:37
栏目: 智能运维

在 CentOS 中禁用 Swap(交换分区)可以按以下步骤操作。请根据你的需求选择临时禁用永久禁用


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

1. 查看当前 Swap 状态

free -h
# 或
swapon -s

2. 临时关闭 Swap

sudo swapoff -a

3. 确认已关闭

free -h

如果 Swap 行全部为 0,说明已成功关闭。


二、永久禁用 Swap(推荐用于服务器 / Kubernetes 节点)

1. 备份 fstab

sudo cp /etc/fstab /etc/fstab.bak

2. 编辑 fstab,注释掉 Swap 行

sudo vi /etc/fstab

找到类似下面的行:

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

UUID=xxxx-swap  swap  swap  defaults  0 0

在行首加 # 注释掉:

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

保存退出(:wq)。


3. 关闭当前 Swap

sudo swapoff -a

4. 验证

free -h
swapon -s

三、如果你使用的是 Swap 文件(而不是分区)

1. 查看 Swap 文件

swapon -s

2. 关闭 Swap 文件

sudo swapoff /swapfile

3. 删除 Swap 文件(可选)

sudo rm -f /swapfile

4. 删除 fstab 中的相关配置

sudo vi /etc/fstab

删除或注释类似:

/swapfile swap swap defaults 0 0

四、常见注意事项

✅ 禁用 Swap 的常见场景

  • Kubernetes 节点(必须禁用
  • 数据库服务器(MySQL / PostgreSQL)
  • 追求稳定性能的应用

⚠️ 风险提醒

  • 内存不足时可能导致 OOM(Out Of Memory)
  • 确保物理内存足够(建议 ≥ 4GB)

五、快速一键禁用(示例脚本)

swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

如果你告诉我:

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

我可以给你更精确、安全的操作方案。

0