温馨提示×

centos swap如何释放

小樊
40
2026-09-08 19:42:32
栏目: 智能运维

在 CentOS 中,swap(交换分区/交换文件)一般不能直接“删除内容”,而是把 swap 里的数据换回内存并关闭 swap,达到“释放 swap”的效果。下面按常见场景说明。


一、先查看 swap 使用情况

free -h
swapon --show

示例:

NAME      TYPE      SIZE USED PRIO
/dev/sda2 partition   4G   2G   -2

二、常规释放 swap(推荐)

1️⃣ 先把 swap 关掉(数据会自动回到内存)

swapoff -a

⚠️ 注意:

  • 必须保证 物理内存足够(USED < 可用内存)
  • 如果内存不足,系统可能 OOM

2️⃣ 再重新开启 swap

swapon -a

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


三、只释放某个 swap 设备

如果你有多个 swap:

swapon --show
swapoff /dev/sda2
swapon /dev/sda2

四、临时减小 swap 使用(不关 swap)

如果不敢直接 swapoff,可以:

sysctl vm.swappiness=10

(默认 30,越低越不愿用 swap)

永久生效:

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

五、如果是 swap 文件(非分区)

查看:

swapon --show

关闭:

swapoff /swapfile

删除文件(可选):

rm -f /swapfile

六、常见注意事项

✅ swap 释放 ≠ 删除 swap
✅ swap 用得多通常是:

  • 内存不够
  • 程序泄漏
  • swappiness 太高

❌ 不建议长期 0 swap(系统稳定性风险)


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

free -h
swapon --show

我可以帮你判断 该不该释放、怎么安全释放

0