温馨提示×

debian swapper怎么释放空间

小樊
56
2026-09-22 15:23:45
栏目: 云计算

在 Debian(以及大多数 Linux 发行版)里,swapper / swap 空间本身不是“文件占用”,而是系统用来做内存交换的一块空间(可以是 swap 分区或 swap 文件)。
所谓“释放 swap 空间”,一般是指 把 swap 里的数据换回内存,并关闭或缩小 swap。

下面按常见场景说明。


一、先确认 swap 使用情况

free -h
swapon --show

你会看到类似:

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

二、释放(清空)swap 空间(最常用)

前提

  • 物理内存足够(USED < 总内存)
  • 有 root 权限

操作步骤

sudo swapoff -a
sudo swapon -a

说明:

  • swapoff -a:把所有 swap 数据换回内存并关闭 swap
  • swapon -a:重新启用 swap(此时是空的)

⚠️ 如果内存不够,会失败或系统变卡。


三、只释放某个 swap(分区或文件)

查看:

swapon --show

关闭指定 swap:

sudo swapoff /dev/sda2

重新开启:

sudo swapon /dev/sda2

四、如果是 swap 文件,想“删除并释放磁盘空间”

1. 关闭 swap 文件

sudo swapoff /swapfile

2. 删除文件

sudo rm -f /swapfile

3. 取消开机挂载

编辑:

sudo nano /etc/fstab

删除或注释这一行:

/swapfile none swap sw 0 0

这样磁盘空间就真正释放了。


五、想“缩小” swap 空间(而不是完全删除)

swap 文件方式(推荐)

  1. 关闭 swap
  2. 删除旧文件
  3. 创建更小的 swap 文件

示例(2G):

sudo swapoff /swapfile
sudo rm /swapfile
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

六、不想用 swap(谨慎)

sudo swapoff -a

并注释 /etc/fstab 中的 swap 行。
⚠️ 内存不足时可能 OOM 杀进程。


七、常见误区

❌ “apt clean 能释放 swap” → 不能
❌ “rm 某个进程能释放 swap” → 不行
✅ swap 只能由内核管理


如果你愿意,可以告诉我:

  • 是 swap 分区还是 swap 文件
  • 是 内存不够还是磁盘空间不够
  • free -h 和 swapon --show 的输出

我可以给你更精确的操作方案。

0 踩