温馨提示×

debian swapper出错怎么办

小樊
40
2026-09-13 09:43:24
栏目: 智能运维

在 Debian 系统中,swapper / swap 相关出错通常不是单一问题,而是多种原因导致的。下面我按常见现象 → 原因 → 解决办法给你一个实用排查指南。


一、常见 swap 出错现象

  1. 开机卡在
    Activating swap partition...
    
  2. 日志中出现
    swapper: out of memory
    failed to activate swap
    
  3. 系统变慢、OOM(内存耗尽)
  4. /etc/fstab 中 swap 挂载失败
  5. swapon 报错
    swapon: /dev/sdX: read swap header failed
    

二、快速检查当前 swap 状态

swapon --show
free -h
cat /proc/swaps

如果是空的,说明 swap 没启用。


三、常见问题与解决方案

1️⃣ swap 分区不存在或损坏

检查分区

lsblk
blkid

修复方法(重建 swap)

假设是 /dev/sda2

swapoff /dev/sda2
mkswap /dev/sda2
swapon /dev/sda2

然后确认 UUID:

blkid /dev/sda2

编辑 /etc/fstab

UUID=xxxx  none  swap  sw  0  0

2️⃣ /etc/fstab 配置错误(最常见)

错误示例:

/dev/sda2  swap  swap  defaults  0  0

但设备名变了(如 sda → sdb)

推荐用 UUID

blkid

修改:

UUID=你的UUID  none  swap  sw  0  0

测试:

mount -a
swapon -a

3️⃣ 使用 swap 文件(不是分区)

创建 swap 文件:

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

/etc/fstab

/swapfile none swap sw 0 0

4️⃣ swapper out of memory(不是 swap 坏)

这是内存真的不够

解决方式:

  • 增加 swap
  • 优化程序
  • 加物理内存

临时缓解:

sysctl vm.swappiness=10

5️⃣ 系统使用 zram / zswap

Debian 新版可能用:

zramctl

如果冲突:

systemctl disable zram-generator

四、系统完全无法启动(swap 卡死)

临时进系统

在 GRUB 启动项加:

init=/bin/bash

注释或删除 /etc/fstab 中 swap 行,然后重启。


五、推荐的安全配置

swappiness = 10~30
sysctl vm.swappiness=20

永久:

/etc/sysctl.conf
vm.swappiness=20

六、如果你愿意,我可以更精准帮你

请贴出以下信息之一:

  • 报错截图或日志(journalctl -xe | grep swap
  • cat /etc/fstab
  • lsblk
  • Debian 版本(cat /etc/os-release

我可以直接告诉你具体改哪一行

0