在 Debian 系统中,swapper(交换空间 / swap)失效通常指系统无法使用 swap(swap 分区或 swap 文件),或者设置了但没有生效。下面按常见原因和排查方式系统说明。
swapon --show
free -h
cat /proc/swaps
/etc/fstab 中启用(重启后失效)现象
swapon 可以用检查
cat /etc/fstab
修复(分区)
UUID=xxxx none swap sw 0 0
修复(文件)
/swapfile none swap sw 0 0
然后:
mount -a
swapon -a
错误做法
dd if=/dev/zero of=/swapfile bs=1M count=2048
在 Btrfs 或某些文件系统上会失败。
正确方式(ext4)
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Btrfs 必须
touch /swapfile
chattr +C /swapfile
fallocate -l 2G /swapfile
mkswap /swapfile
swapon /swapfile
cat /proc/sys/vm/swappiness
如果是 0,系统几乎不用 swap。
临时
sysctl vm.swappiness=60
永久
echo 'vm.swappiness=60' >> /etc/sysctl.conf
blkid
如果 UUID 和 /etc/fstab 不一致:
swapon UUID=新UUID
Debian 桌面版可能用 zram 替代 swap:
ls /dev/zram*
zramctl
此时传统 swap 可能“看起来没用”。
关闭 zram:
systemctl disable zram-generator
在容器中:
/proc/swaps 为空是正常现象如果 swap 小于 RAM:
free -h
swapon --show
swapon --show
free -h
cat /etc/fstab
cat /proc/sys/vm/swappiness
lsblk
blkid
你可以贴出:
swapon --showfree -h/etc/fstabcat /etc/debian_version)我可以直接告诉你 为什么失效 + 怎么修。