用 free -h 查内存需关注 mem 行的 total(总量)、free(完全空闲)和 available(真正可用),其中 available 才是反映系统实际剩余内存的核心指标,因 linux 会将空闲内存用于可回收缓存。

直接用 free -h 就能快速看到内存总量和剩余可用量,关键不是只看 “free” 那一列,而是结合 available 值判断系统真正还能用多少。
怎么看总量和剩余——盯住 Mem 行的三列
运行 free -h 后,重点关注 Mem 这一行:
-
total:物理内存总容量,比如
3.7G,这就是系统装了多少 RAM; -
free:完全没被分配的空闲内存,通常很小(如
3.2G),但它不等于“能用的内存”; -
available:系统当前可立即分配给新进程的内存,已扣除不可回收的缓存部分,这才是真实的剩余余量(如
3.2G)。
注意:free 列数值偏高不代表内存宽松,available 才是反映实际承载能力的核心指标。
为什么不能只看 free 列
Linux 会把空闲内存自动用于 buff/cache(缓冲区和页缓存),加速磁盘读写。这部分内存不是被程序“占着不放”,而是随时可回收的。
- 如果
available接近free,说明缓存基本没起作用,可能刚重启或负载极低; - 如果
available明显大于free(比如free=200M、available=2.1G),说明系统正高效利用空闲内存做缓存,这是健康状态; - 当
available持续低于总内存的 10%~15%,才需警惕内存压力。
快速获取简洁结果的小技巧
- 加
-t显示总计行:free -ht,末尾多一行Total,方便一眼算出物理内存 + Swap 总和; - 想只看 Mem 行关键字段,可用
free -h | head -n 2,跳过 Swap 和多余空行; - 单位按需切换:
free -m(MB)、free -g(GB),避免小数过多干扰判断。
动态观察内存变化趋势
如果要监控一段时间内的总量与剩余波动,用 -s 和 -c 组合:
-
free -h -s 2:每 2 秒刷新一次,手动Ctrl+C停止; -
free -h -s 3 -c 5:每 3 秒刷新,共显示 5 次,适合快速抓取快照。
过程中重点观察 available 是否稳定,大幅下降可能意味着某进程在持续申请内存。











