free命令核心是看available值判断内存余量,free -h可人性化显示Mem/Swap各六列,其中available反映可立即分配给新进程的内存,buff/cache为可回收I/O缓存,动态监控用-s和-c组合。

直接用 free 就能快速掌握内存整体状态,关键不是看“用了多少”,而是看“还能不能撑住新任务”——这得盯紧 available 这个值。
基础用法:一眼看清内存概况
终端输入 free -h,这是最常用也最友好的方式:
– -h 让单位自动适配(KB/MB/GB),不用换算;
– 输出分三行:Mem(物理内存)、Swap(交换分区)、Total(汇总);
– 每行含 total、used、free、shared、buff/cache、available 六列。
重点看哪几列?别被 used 和 free 带偏
used 包含缓存和实际占用,不代表“真被程序吃光”;
free 是完全没动过的空闲内存,通常很小,但不等于“不够用”;
真正反映系统余量的是 available ——它估算出当前可立即分配给新进程的内存,已扣除不可回收的缓存部分。
简单说:判断内存是否紧张,只看 available 是否持续低于总内存的 10%~15%。
动态观察内存变化
加参数让数据“活起来”,方便排查波动问题:
– free -h -s 2:每 2 秒刷新一次;
– free -h -c 5:只显示 5 次后自动退出;
– 组合使用更实用,比如 free -h -s 3 -c 10,观察 30 秒内的趋势。
辅助理解:buff/cache 到底在干啥
buff/cache 是内核为提升 I/O 效率自动管理的“临时仓库”:
– buffers:暂存即将写入磁盘的数据(如日志缓冲);
– cache:缓存刚读过的文件内容,下次访问更快;
– 它们大部分可被系统随时回收,所以 available ≈ free + 可回收的 buff/cache,不是简单相加,但逻辑上是这个方向。


















