温馨提示×

怎样监控Debian Swapper

小樊
43
2026-08-24 10:11:03
栏目: 智能运维

在 Debian 系统中,swapper 通常指的是 swap 交换空间(swap space) 的使用情况,而不是某个具体进程。所谓“监控 Debian Swapper”,一般是指监控 swap 的启用状态、使用量、使用率、swap I/O 等。下面从常用命令、实时监控、性能分析、内核参数几个方面说明。


一、查看当前 Swap 状态(最基础)

1️⃣ free

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.8G        2.1G        1.2G        120M        4.5G        5.3G
Swap:          2.0G        512M        1.5G

✅ 关注:

  • Swap total:swap 总量
  • Swap used:已使用 swap
  • 如果 used 长期 > 0,说明系统在用 swap

2️⃣ swapon

查看 swap 设备 / 文件

swapon --show

或:

cat /proc/swaps

输出示例:

Filename				Type		Size	Used	Priority
/swapfile                               file		2097148	524288	-2

二、实时监控 Swap 使用情况

3️⃣ top

top

top 中关注:

MiB Swap: 2048.0 total, 1536.0 free, 512.0 used

4️⃣ htop(推荐)

sudo apt install htop
htop

✅ 优点:

  • 彩色显示
  • 可直观看到每个进程的 RES / SWAP
  • F6 → 选 SWAP 排序

三、查看哪些进程在使用 Swap

5️⃣ smem(最准确)

sudo apt install smem
smem -t -k

按 swap 排序:

smem -s swap -r

6️⃣ 手动统计 /proc/*/status

for pid in $(ps -ef | awk '{print $2}'); do
  if [ -f /proc/$pid/status ]; then
    name=$(grep Name /proc/$pid/status | awk '{print $2}')
    swap=$(grep VmSwap /proc/$pid/status | awk '{print $2}')
    echo "$pid $name $swap"
  fi
done | sort -k3 -n

✅ 可精确定位 哪个进程在大量使用 swap


四、监控 Swap I/O(是否频繁换页)

7️⃣ vmstat

vmstat 1

关注:

si  so
  • si:swap in(从 swap 读入内存)
  • so:swap out(内存写入 swap)

⚠️ 如果 si/so 长期不为 0,说明系统 频繁换页,性能会下降


8️⃣ sar(sysstat)

sudo apt install sysstat
sar -W 1

输出:

pswpin/s pswpout/s

✅ 用于长期性能分析


五、查看内核 Swap 行为(高级)

9️⃣ swappiness(控制 swap 倾向)

cat /proc/sys/vm/swappiness

默认值通常是 60

  • 值越大 → 越倾向使用 swap
  • 值越小 → 越倾向留在内存

临时修改:

sudo sysctl vm.swappiness=10

永久修改:

sudo nano /etc/sysctl.conf

添加:

vm.swappiness=10

六、监控 Swap 是否异常(告警建议)

✅ 建议监控指标:

  • Swap 使用率 > 30% → 告警
  • si/so 持续 > 0 → 内存不足
  • 可用内存 < 10%

可结合:

  • Prometheus + node_exporter
  • Zabbix
  • Netdata(实时图形,强烈推荐)
sudo apt install netdata

七、总结(快速对照表)

目的 命令
查看 swap 总量 free -h
查看 swap 设备 swapon --show
实时查看 htop
查看进程 swap smem
查看 swap I/O vmstat 1
调整 swap 倾向 vm.swappiness

如果你愿意,我也可以:

  • ✅ 帮你分析 swap 使用是否异常
  • ✅ 给你一套 生产环境 swap 监控方案
  • ✅ 解释 swap 与 OOM 的关系

只要告诉我你的使用场景即可。

0