判断内存是否够用应看 available 值,它代表可立即分配给新进程的内存总量,比 free 和 used 更真实;例如 Mem: 32Gi 18Gi 1.2Gi 0B 12Gi 9.5Gi 中 available 为 9.5Gi,表明尚可安全分配约 9.5GB。

判断内存是否够用,关键不是看“用了多少”,而是看“还能不能立刻撑住新任务”——这个能力由 available 值直接体现。
只用一条命令快速掌握真实余量
在终端输入:
free -h
重点关注 Mem: 行的 available 列。它代表内核估算出的、可立即分配给新进程的内存总量,已扣除不可回收的缓存(如 ramfs、共享内存段等)。这个值比 free 列更真实,也比 used 列更有意义。
例如输出中显示:
Mem: 32Gi 18Gi 1.2Gi 0B 12Gi 9.5Gi
说明系统当前还能安全分配约 9.5GB 给新程序,哪怕 free 列只有 1.2GB。
避开三个常见误判陷阱
– 别信 used 值:它包含大量可回收的 buff/cache,不等于程序真占满了;
– 别盯 free 值:Linux 设计上就很少让 free 长期维持高位,空闲内存会被自动用于缓存磁盘数据;
– 别拿 total 和硬件标称硬对比:比如插了 32GB 内存条但 free 显示 total 为 31.2Gi,大概率是集成显卡或 BIOS 预留了部分内存,属正常现象。
需要持续观察时的实用技巧
– 每 2 秒刷新一次:free -h -s 2
– 刷新 5 次后自动退出:free -h -s 2 -c 5
– 若发现 available 长期低于 total 的 10%~15%,且 swap 开始有读写活动(Swap: used > 0),才真正提示内存压力上升。
更精准的监控建议(进阶)
脚本或自动化监控中,推荐直接读取 /proc/meminfo 中的 MemAvailable 字段,它比解析 free 输出更稳定、字段更全。可用命令:
grep MemAvailable /proc/meminfo


















