温馨提示×

centos swapper怎么释放

小樊
34
2026-09-21 10:41:47
栏目: 智能运维

在 CentOS(及其他 Linux 发行版)里,swapper / swap 空间通常是:

  • 一个 swap 分区(如 /dev/sda2)
  • 或一个 swap 文件(如 /swapfile)

“释放 swap”一般有两种理解,我分别说明:


一、把 swap 里的内容“腾回内存”(最常见)

⚠️ swap 不能“直接删除占用”,只能让系统把数据换回内存

1️⃣ 先确认内存是否足够

free -h

如果 Mem 的 available 比 Swap 已用还大,就可以安全释放。

2️⃣ 关闭再开启 swap(会强制换回内存)

swapoff -a
swapon -a

✅ 这会:

  • 把 swap 中的数据写回内存
  • 清空 swap 使用量

⚠️ 风险:

  • 如果内存不足,系统可能 OOM(杀进程)
  • 大 swap + 小内存时非常慢

二、临时“不用 swap”(但不释放内容)

如果你只是不想再用 swap:

swapoff -a

⚠️ 系统重启后还会自动启用(除非改配置)


三、永久减少 / 删除 swap(不推荐随意做)

1️⃣ 查看 swap 来源

swapon --show

2️⃣ 如果是 swap 文件

swapoff /swapfile
rm -f /swapfile

并删除 /etc/fstab 中的一行:

/swapfile none swap sw 0 0

3️⃣ 如果是 swap 分区

swapoff /dev/sdX

然后修改 /etc/fstab,不要挂载该分区。


四、降低系统使用 swap 的倾向(推荐)

如果你只是觉得 swap 用得太早:

cat /proc/sys/vm/swappiness

默认值通常是 30,可以改成 10:

sysctl vm.swappiness=10

永久生效:

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

五、什么时候不该动 swap?

❌ 内存经常吃满
❌ 有数据库(MySQL / ES / Redis)在跑
❌ 不清楚内存使用情况


如果你愿意,可以贴一下:

free -h
swapon --show

我可以帮你判断 能不能安全释放。

0 踩