在 Debian 系统中,查看 swap 占用情况 有几种常用方法,下面按使用场景给你总结一下:
freefree -h
输出示例:
total used free shared buff/cache available
Mem: 7.7G 2.1G 4.3G 123M 1.3G 5.1G
Swap: 2.0G 512M 1.5G
Swap: used 就是当前 swap 已使用量-h 表示人类可读(G/M)swaponswapon --show
或
cat /proc/swaps
示例:
NAME TYPE SIZE USED PRIO
/dev/sda2 partition 2G 512M -2
top / htoptop
然后按 f,勾选 SWAP,再按回车
可以看到每个进程的 swap 使用量
htop
F2 → Columns → 添加 SWAPgrep VmSwap /proc/<PID>/status
例如:
grep VmSwap /proc/1234/status
输出:
VmSwap: 12345 kB
查看所有进程 swap 占用(按大小排序):
for pid in $(ls /proc | grep '^[0-9]'); do
awk '/VmSwap/{print $2, $3, "PID:"pid}' /proc/$pid/status 2>/dev/null
done | sort -nr | head
sudo apt install glances
glances
| 需求 | 命令 |
|---|---|
| 总体 swap 使用 | free -h |
| swap 设备详情 | swapon --show |
| 进程 swap 占用 | htop / /proc/PID/status |
| 脚本批量查看 | grep VmSwap /proc/*/status |
如果你是想排查 swap 被谁占用过多或优化 swap 使用,也可以继续问我。