在 Debian(以及一般 Linux)里,swapper / swap 的使用情况可以从多个层面来监控。下面按「快速查看 → 持续监控 → 进程级分析 → 内核参数/调优」的顺序说明。
freefree -h
关注:
Swap: total / used / freeswaponswapon --show
或
cat /proc/swaps
可以看到:
top / htoptop
MiB Swapf 可显示 SWAP 列(进程级)htop
SWAP 列(更易读)/proc/<pid>/statusgrep VmSwap /proc/<pid>/status
for f in /proc/*/status; do
awk '/VmSwap|Name/{printf "%s %s\n", $2, $3}' "$f"
done | sort -k2 -h | tail
或更简单(需 procps):
smem -s swap -r
(若未安装:apt install smem)
vmstatvmstat 1
重点列:
si:swap in(从 swap 读入内存)so:swap out(写入 swap)如果
si/so长时间非 0,说明内存压力明显
iostatiostat -x 1
查看 swap 设备(如 /dev/sda2)的:
%utilawait/proc/meminfogrep -i swap /proc/meminfo
包括:
SwapTotalSwapFreeSwapCachedsar(历史监控)apt install sysstat
sar -S 1
查看 swap 使用历史趋势
cat /proc/sys/vm/swappiness
默认值通常是 60
临时修改:
sysctl vm.swappiness=10
永久:
/etc/sysctl.d/99-swap.conf
vm.swappiness=10
used swap 很小 + si/so = 0:健康used swap 增长 + si/so > 0:内存不足如果你愿意,我可以: