在 CentOS 中“清理 swap”通常不是直接“删除 swap 文件内容”,而是通过释放 swap 占用或关闭/重新开启 swap来完成。下面按常见场景说明。
free -h
swapon --show
sync
swapoff -a
这会把 swap 中的数据移回内存(前提:内存足够)
swapon -a
✅ 这样 swap 就被“清理”并重新使用。
for file in /proc/*/status; do
awk '/VmSwap|Name/{printf "%s %s ", $1, $2} /Pid/{print $2}' $file
done | sort -k3 -n -r | head
或简单一点:
smem -s swap -r | head
swapon --show
swapoff /swapfile
rm -f /swapfile
vim /etc/fstab
# 删除类似:
# /swapfile swap swap defaults 0 0
# 越小越倾向用内存
sysctl vm.swappiness=10
永久生效:
echo "vm.swappiness=10" >> /etc/sysctl.conf
swapoff如果你能告诉我:
我可以给你更精确的操作方案。