| 场景 | 内存压力大、swap 换入换出 |
|---|---|
| 目标 | 定位内存消耗源与恢复策略 |
| 工具链 | free → vmstat → ps/smem → 处置 |
第 1 步:总体
第 1 步:总体
free -h
vmstat 1 5 | tail -n +2 # 关注 si/so第 2 步:找大户
第 2 步:找大户
ps aux --sort=-rss | head -n 15
smem -rk 2>/dev/null | head -n 15 || echo 'smem 未安装,用 ps 替代'
pidstat -r 1 3 | head第 3 步:内核与缓存
第 3 步:内核与缓存
grep -E 'Slab|SReclaimable|SUnreclaim' /proc/meminfo
slabtop -s c -o | head第 4 步:处置
第 4 步:处置
# 低 trivially:echo 1 > /proc/sys/vm/drop_caches(仅在明确缓存干扰时,生产慎用)
# 常见:重启/限制大户,或加内存
# 防复发:systemd MemoryMax / 应用堆参数 / 泄漏修复drop_caches 会造成短时 IO 抖动且治标不治本;除非在做基准测试否则不要拿它当运维手段。