温馨提示×

Ubuntu如何清理Swap

小樊
44
2026-07-13 05:11:06
栏目: 智能运维

在 Ubuntu 中清理(释放)Swap 空间,常见做法如下,按风险从低到高说明。


一、查看当前 Swap 使用情况

free -h
swapon --show

二、安全做法:让系统自动回收 Swap(推荐)

Linux 会在内存充足时自动把 Swap 数据换回内存,无需手动“清理”。

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

free -h

如果 available 内存 > swap 使用量,系统会自动回收。

2️⃣ 提高 swap 回收倾向(临时)

sudo sysctl vm.swappiness=10

默认是 60,数值越小越倾向于使用内存而不是 swap
重启后失效


三、手动释放 Swap(常用方法 ✅)

步骤 1:关闭 Swap

sudo swapoff -a

⚠️ 此操作会把 Swap 数据换回内存,确保内存足够

步骤 2:重新开启 Swap

sudo swapon -a

✅ 完成后 Swap 使用量会被清空或大幅减少


四、只关闭某个 Swap 分区(而不是全部)

如果你是多个 swap(分区 / 文件):

swapon --show
sudo swapoff /dev/sdXN
sudo swapon /dev/sdXN

五、删除 Swap 文件(不再使用 Swap)

1️⃣ 关闭 swap

sudo swapoff /swapfile

2️⃣ 删除 swap 文件

sudo rm /swapfile

3️⃣ 移除自动挂载

sudo nano /etc/fstab

删除类似:

/swapfile none swap sw 0 0

六、不建议的做法 ❌

  • 直接删除 swap 分区而不关闭
  • 在内存不足时执行 swapoff
  • 频繁手动清理 swap(系统调度更合理)

七、常见问题

Q:Swap 一直很高,但内存还有?

✅ 正常,Linux 会尽量利用 swap 减少内存碎片

Q:Swap 清理后马上又涨?

✅ 说明:

  • 内存不足
  • 或某些程序(Java / DB / Docker)常驻内存大

如果你愿意,可以把下面信息发我,我可以帮你判断是否需要清理:

free -h
swapon --show
top -b -n1 | head -20

0