温馨提示×

debian swapper怎样监控

小樊
53
2026-09-13 09:42:26
栏目: 智能运维

在 Debian 系统中,swapper(交换分区/交换文件)的监控通常是通过监控 swap 使用情况、swap IO、swappiness 以及内核 swap 相关指标来完成的。下面从命令行、系统工具、可视化、日志与告警几个方面说明。


一、基础查看(是否启用、用了多少)

1. 查看 swap 总览

free -h
swapon --show
  • free -h:看 total / used / free
  • swapon --show:看 swap 设备、类型、大小、优先级

2. 查看内核 swap 参数

cat /proc/swaps
cat /proc/sys/vm/swappiness
  • swappiness:0–100,值越大越积极使用 swap

二、实时监控 swap 使用与 IO

1. top / htop

top
  • 看 MiB Swap 行
  • 按 f 可添加 SWAP 列
htop
  • 支持颜色显示 swap 使用

2. vmstat(看 swap IO)

vmstat 1

关注:

  • si:从 swap 读入内存
  • so:从内存写出到 swap
    持续非 0 说明内存压力明显

3. sar(历史与实时)

sar -W 1
sar -r 1
  • -W:swap 分页
  • -r:内存与 swap 使用

需安装:

apt install sysstat

三、按进程监控谁在用 swap

1. 查看进程 swap 占用

for pid in $(ls /proc | grep '^[0-9]'); do
  awk -v p=$pid '/VmSwap/{print p, $2 " KB"}' /proc/$pid/status
done | sort -k2 -n -r | head

或:

smem -s swap -r

安装:

apt install smem

四、长期监控(推荐)

1. Prometheus + node_exporter

  • 指标示例:
    • node_memory_swap_total_bytes
    • node_memory_swap_available_bytes
    • node_vmstat_pswpin
    • node_vmstat_pswout

Grafana 官方有 Node Exporter Full 面板。

2. Zabbix

  • 使用 system.swap.size[,total] / [,free]
  • 可设告警:swap 使用 > 80%

五、日志与异常排查

1. 系统日志

journalctl -k | grep -i swap
dmesg | grep -i swap

常见:

  • Out of memory
  • swap: unexpected

2. OOM 与 swap 关系

dmesg | grep -i oom

swap 不够或 swappiness 过低都可能触发 OOM。


六、调优与监控结合建议

# 临时调整
sysctl vm.swappiness=10

# 永久
echo "vm.swappiness=10" >> /etc/sysctl.conf
sysctl -p

监控建议阈值:

  • swap 使用 > 50%:关注
  • swap IO 持续 > 0:内存不足
  • swappiness 不合理:调优

如果你需要:

  • 嵌入式 Debian
  • LXC / Docker 环境
  • 只监控不装 agent
  • 写监控脚本或告警规则

可以告诉我使用场景,我可以给更具体的方案。

0 踩