临时关闭并清理 swap 空间只需执行 sudo swapoff -a,配合 free -h 或 swapon --summary 验证;若遇“device or resource busy”,先运行 sudo sysctl -w vm.drop_caches=3 再重试,该操作重启后自动恢复。

临时关闭并清理 Swap 空间,只需一条核心命令配合简单检查即可完成,无需重启、不改配置,适合调试、性能压测或紧急释放 I/O 压力。
确认当前 Swap 使用状态
执行以下命令,直观查看 Swap 是否启用及占用情况:
free -h
重点关注 Swap 行的 used 值。若为 0B 或接近零,说明基本未使用;若数值较大(如 500Mi、1.2Gi),则需清理。
也可用更简洁的方式列出启用中的 Swap 设备:
swapon --show=name,type,size,used,prio
执行临时关闭与清理
直接运行:
sudo swapoff -a
该命令会立即禁用所有已启用的 Swap 分区和 Swap 文件(无论挂载在 /etc/fstab 中与否),并将其中的数据尽可能换回物理内存。成功后,系统不再使用任何 Swap 空间。
注意:如果 swapoff -a 报错提示 "cannot swapoff /swapfile: Device or resource busy",说明部分数据正被内核锁定在 Swap 中,此时可先尝试释放缓存缓解压力:
- sudo sysctl -w vm.drop_caches=3(清空 pagecache、dentries 和 inodes)
- 等待 1–2 秒后,再执行 sudo swapoff -a
验证是否已清理干净
再次运行:
free -h
输出中 Swap 行应显示为:
Swap: 0B 0B 0B
或使用:
swapon --summary
若无任何输出,表示所有 Swap 已成功停用。
补充说明
该操作是纯内存级生效,重启后 Swap 会按 /etc/fstab 配置自动恢复启用。如需永久关闭,请另行编辑 /etc/fstab 注释掉 swap 行,并 reload systemd 配置。











