温馨提示×

debian swapper如何排查问题

小樊
38
2026-09-01 10:56:27
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)里,swapper / swap 相关的问题通常表现为:

  • 系统卡顿、频繁使用 swap
  • swap 未生效 / 不挂载
  • OOM(内存耗尽)
  • 交换分区或 swapfile 异常

下面按排查思路 + 常用命令来说明。


一、确认 swap 是否启用

1. 查看 swap 状态

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

正常应看到:

  • free -hSwap 不为 0
  • swapon --show 列出 swap 设备/文件

如果 swap 为 0

  • 没配置 swap
  • 或配置但未挂载
  • 或 fstab 错误

二、检查 swap 配置来源

2. 查看 swap 类型

swapon --show

常见类型:

  • /dev/sdX/dev/nvmeX:交换分区
  • /swapfile:交换文件

3. 检查 /etc/fstab

cat /etc/fstab

示例:

/swapfile none swap sw 0 0
/dev/sda2 none swap sw 0 0

问题常见点:

  • UUID 写错
  • 少写 swap
  • 文件系统类型错误

三、swapfile 常见问题(Debian 常用)

4. 创建/修复 swapfile

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

fallocate 不支持(某些文件系统):

dd if=/dev/zero of=/swapfile bs=1M count=2048

四、排查 swap 被“异常使用”

5. 查看 swap 使用情况

smem -s swap
top
htop

F6 → 选 SWAP 排序


6. 查看 swappiness(是否过早使用 swap)

cat /proc/sys/vm/swappiness

默认值:

  • Debian:60

临时修改:

sudo sysctl vm.swappiness=10

永久:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

五、swap 性能问题

7. 查看 swap IO

iostat -x 1
vmstat 1

如果:

  • si/so 持续很高
  • 磁盘 %util 接近 100%

说明:

  • 内存不足
  • 或 swap 在慢磁盘(HDD)

六、OOM 与 swap 关系

8. 查看 OOM 日志

dmesg | grep -i oom
journalctl -k | grep -i oom

常见原因:

  • swap 太小
  • swappiness 太低
  • 应用内存泄漏

七、swap 分区损坏或未识别

9. 检查 swap 分区

sudo blkid
sudo fdisk -l

若 swap 分区存在但未启用:

sudo mkswap /dev/sdX
sudo swapon /dev/sdX

八、常见问题速查表

现象 可能原因
swap 为 0 未配置 / fstab 错
系统卡顿 swap 频繁使用
OOM 内存 + swap 不足
swap 不挂载 UUID / 路径错误
swapfile 无效 权限 / 文件系统不支持

九、推荐排查顺序(实用)

  1. free -h
  2. swapon --show
  3. cat /etc/fstab
  4. dmesg | grep -i swap
  5. vmstat 1
  6. 调整 swappiness
  7. 必要时增加 swap

如果你能贴出:

  • free -h
  • swapon --show
  • /etc/fstab
  • 具体现象(卡顿 / OOM / 不挂载)

我可以帮你精准定位问题

0