在 Debian(以及大多数 Linux 发行版)里,swapper / swap 空间本身不是“文件占用”,而是系统用来做内存交换的一块空间(可以是 swap 分区或 swap 文件)。
所谓“释放 swap 空间”,一般是指 把 swap 里的数据换回内存,并关闭或缩小 swap。
下面按常见场景说明。
free -h
swapon --show
你会看到类似:
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 4G 1.5G -2
sudo swapoff -a
sudo swapon -a
说明:
swapoff -a:把所有 swap 数据换回内存并关闭 swapswapon -a:重新启用 swap(此时是空的)⚠️ 如果内存不够,会失败或系统变卡。
查看:
swapon --show
关闭指定 swap:
sudo swapoff /dev/sda2
重新开启:
sudo swapon /dev/sda2
sudo swapoff /swapfile
sudo rm -f /swapfile
编辑:
sudo nano /etc/fstab
删除或注释这一行:
/swapfile none swap sw 0 0
这样磁盘空间就真正释放了。
示例(2G):
sudo swapoff /swapfile
sudo rm /swapfile
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapoff -a
并注释 /etc/fstab 中的 swap 行。
⚠️ 内存不足时可能 OOM 杀进程。
❌ “apt clean 能释放 swap” → 不能
❌ “rm 某个进程能释放 swap” → 不行
✅ swap 只能由内核管理
如果你愿意,可以告诉我:
free -h 和 swapon --show 的输出我可以给你更精确的操作方案。