温馨提示×

怎么释放centos swap

小樊
44
2026-09-11 16:56:00
栏目: 智能运维

在 CentOS 中“释放 swap”通常指的是把 swap 中的数据换回内存,并清空 swap 分区/文件的使用量。可以按下面步骤操作。


一、先确认 swap 使用情况

free -h
swapon -s

cat /proc/swaps

二、临时释放 swap(推荐做法)

1️⃣ 关闭 swap

swapoff -a

⚠️ 注意:

  • 必须保证 物理内存足够,否则会 OOM
  • 这一步会把 swap 内容换回内存

2️⃣ 再次开启 swap

swapon -a

此时 swap 使用量通常会变为 0 或很小。


三、只释放部分 swap(不关闭全部)

如果内存充足,但只想“挤”一部分:

sysctl vm.drop_caches=3

⚠️ 这只清 cache,不保证释放 swap

真正释放 swap 只能靠 swapoff


四、确认 swap 已释放

free -h
swapon -s

五、常见问题

1. swapoff 很慢 / 卡住?

说明:

  • 内存不足
  • 或 swap 数据很多

解决:

  • 先关闭占用内存的进程
  • 或增加物理内存后再操作

2. 不想用 swap(临时)

sysctl vm.swappiness=0

永久:

echo "vm.swappiness=0" >> /etc/sysctl.conf
sysctl -p

3. 完全禁用 swap(不推荐生产)

swapoff -a

并注释 /etc/fstab 中的 swap 行


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

  • CentOS 版本(7 / 8 / Stream)
  • swap 是分区还是文件
  • 内存和 swap 大小

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

0