温馨提示×

centos swap能删除吗

小樊
43
2026-09-08 19:33:48
栏目: 智能运维

在 CentOS 中,swap 是可以删除(关闭并移除)的,但是否“建议删除”要看你的实际场景。


一、什么情况下可以删除 swap

以下情况可以考虑删除或关闭 swap:

  • 物理内存(RAM)足够大(如 ≥ 8GB 或 16GB,且几乎不吃满)
  • 服务器对 swap 不敏感(如某些数据库会主动禁用 swap)
  • 云服务器、容器环境,且明确不需要 swap
  • 只是为了释放磁盘空间,且系统负载很低

不建议删除的情况:

  • 内存较小(如 ≤ 2GB、4GB)
  • 系统可能突发占用内存(编译、备份、Java 应用等)
  • 使用 OOM 风险较高的服务
  • 不确定是否会内存不足

⚠️ 删除 swap 后,内存耗尽时系统可能直接 OOM Kill 进程,甚至宕机


二、CentOS 删除 swap 的正确步骤

1️⃣ 查看当前 swap

swapon -s
# 或
free -h

假设看到:

/dev/sda2  swap  ...

/swapfile  swap  ...

2️⃣ 关闭 swap

swapoff -a

如果只想关闭某个:

swapoff /swapfile
# 或
swapoff /dev/sda2

3️⃣ 删除 swap 文件(如果是文件)

rm -f /swapfile

如果是 swap 分区:

  • 可用 fdisk / parted 删除分区
  • 或直接在 /etc/fstab 中注释掉

4️⃣ 取消开机挂载(重要)

编辑:

vi /etc/fstab

删除或注释类似行:

/swapfile swap swap defaults 0 0
# 或
UUID=xxx swap swap defaults 0 0

三、只是“临时关闭”而不是删除

如果你只是想临时不用 swap:

swapoff -a

重启后又会启用(除非改 fstab)


四、常见建议

  • 生产服务器:保留 swap(即使很小,如 1–2GB)
  • 桌面 / 开发机:内存大可关
  • 数据库(MySQL / PostgreSQL):常设 swappiness=1 而不是删 swap

调整 swap 使用倾向:

sysctl vm.swappiness=10

永久:

echo "vm.swappiness=10" >> /etc/sysctl.conf

五、总结一句话

CentOS 的 swap 可以删除,但不代表应该删。
内存充足、风险可控时可以删;否则建议保留或仅降低使用优先级。

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

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 内存大小
  • 是否生产环境

我可以给你更具体的建议。

0