在 Debian 系统中,swapper 通常指的是 swap 空间(交换分区或交换文件) 的使用情况,而不是某个具体进程。下面从监控手段、常用命令、自动化监控、日志与告警几个方面系统说明。
swapon --show
示例输出:
NAME TYPE SIZE USED PRIO
/swapfile file 2G 512M -2
free -h
关注:
Swap 行used 是否持续增长top
# 或
htop
在 top 中按 f,确认显示 SWAP 列。
smem(推荐)sudo apt install smem
smem -t -k
查看:
Swap 列awk 从 proc 统计for pid in $(ls /proc | grep '^[0-9]'); do
if [ -f /proc/$pid/status ]; then
swap=$(grep VmSwap /proc/$pid/status | awk '{print $2}')
if [ "$swap" != "0" ] && [ -n "$swap" ]; then
name=$(cat /proc/$pid/comm)
echo "$name ($pid): ${swap}kB"
fi
fi
done | sort -k3 -n
vmstat 1
重点关注:
swpd:已用 swapsi / so:swap in / swap outsudo apt install sysstat
sar -S 1 5
或查看历史:
sar -S
指标说明:
%swpused:swap 使用率kbswpfree / kbswpusedsystemctl status <service>
或:
cat /sys/fs/cgroup/system.slice/<service>.service/memory.swap.current
node_memory_SwapTotal_bytes
node_memory_SwapFree_bytes
Grafana 示例告警条件:
(node_memory_SwapTotal_bytes - node_memory_SwapFree_bytes) / node_memory_SwapTotal_bytes > 0.8
监控项:
dmesg | grep -i oom
journalctl -k | grep -i oom
journalctl -k | grep -i swap
✅ 监控重点:
✅ 调优建议:
cat /proc/sys/vm/swappiness
sudo sysctl vm.swappiness=10
| 目的 | 命令 |
|---|---|
| 查看 swap 状态 | swapon --show |
| 内存 + swap | free -h |
| 实时性能 | vmstat 1 |
| 历史分析 | sar -S |
| 进程级 swap | smem -t -k |
| 自动监控 | Prometheus / Zabbix |
如果你愿意,我可以:
只要告诉我你的使用场景即可。