温馨提示×

centos swap能关闭吗

小樊
45
2026-09-08 19:38:31
栏目: 智能运维

CentOS 的 swap 是可以关闭的,但是否“应该关闭”要看你的实际场景。下面分情况说明。


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

# 关闭所有 swap
swapoff -a

# 查看是否还有 swap
free -h
swapon -s

这只是临时生效,系统重启后会根据 /etc/fstab 重新挂载 swap。


二、永久关闭 swap

1️⃣ 停止当前 swap

swapoff -a

2️⃣ 注释掉 /etc/fstab 中的 swap 行

vi /etc/fstab

示例(注释掉):

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

或如果是文件形式:

# /swapfile swap swap defaults 0 0

3️⃣ 重启验证

reboot
free -h

三、什么情况下可以关闭 swap?

可以关闭的情况

  • 物理内存非常充足(如 32G / 64G 以上)
  • 对性能极致要求,且能接受 OOM(内存耗尽直接杀进程)
  • 数据库服务器(如 MySQL、Oracle)官方建议关闭 swap
  • 云服务器,内存够用

不建议关闭的情况

  • 内存较小(< 4G 或 < 8G)
  • 有突发内存高峰
  • 不清楚服务内存占用情况
  • 生产环境未做压测

四、不关闭但“降低使用倾向”(推荐)

很多生产环境不关 swap,但减少使用

# 查看当前值
cat /proc/sys/vm/swappiness

# 临时修改
sysctl vm.swappiness=10

# 永久修改
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p

swappiness=0~100
0:尽量不用 swap
100:积极使用 swap


五、关闭 swap 的风险

  • 内存耗尽 → OOM Killer 直接杀进程
  • 某些程序依赖 swap 行为(少见)
  • 系统不稳定风险增加

六、总结一句话

CentOS 可以关闭 swap,但生产环境通常建议“保留 swap + 低 swappiness”更稳妥。

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

  • CentOS 版本(7 / 8 / Stream)
  • 内存大小
  • 用途(数据库 / Web / 开发机)

我可以帮你给出最合适的 swap 方案

0