5 分钟上手 free
本页承诺:5 分钟内读懂 free 输出——什么时候真"内存不够"、什么时候只是缓存被占(其实很健康)。很多人一看到 used 接近 total 就慌,其实关键看的是 available。
阅读时间约 4 分钟 + 动手 2 条命令。完整版见 free 使用教程。
第 1 步:确认有 free
bash
which free # 输出路径即已安装(procps 套件自带)
# 没有就装:yum install -y procps / apt install -y procps第 2 步:用更易读的列跑
bash
free -h-h 让数字带单位(GiB/MiB),一眼看懂。典型输出:
bash
total used free shared buff/cache available
Mem: 15Gi 4.2Gi 2.1Gi 0.3Gi 9.3Gi 10Gi
Swap: 2.0Gi 0.0Ki 2.0Gi第 3 步:看懂三件事
① 真正"够不够用"看 available,不是 free
free:完全没被用、随时能立刻分配的内存,通常很小是正常的——Linux 会拿空闲内存做缓存。available:应用还能再申请多少内存(free + 可回收的 cache 估算)。这一列小于总内存 10%~20%,才开始紧张。- 上例
available10Gi / 总 15Gi,很宽裕,别被used4.2Gi 吓到。
② buff/cache 大不是问题
buff/cache 是文件读写缓存,内核会在程序需要内存时自动回收,它不是"被吃掉的内存"。只有 available 持续走低才需警惕。
③ Swap 被用 = 内存真紧张的信号
Swap 那行 used 长期 > 0 且增长 → 物理内存不够、开始换页,系统会变慢。再配合 si/so(vmstat 看)持续非零,就是内存瓶颈确凿证据。
常见坑(3 秒自查)
| 现象 | 原因 | 解决 |
|---|---|---|
| 数字都是 KiB 看不懂 | 没加 -h | 永远 free -h |
free 很小就以为内存满 | 误解了 free 含义 | 改看 available 列 |
| 想看变化趋势 | 一次快照看不出 | free -h -s 1 每秒刷新,或 vmstat 1 看 si/so |
老教程用 -m/-g | 单位参数过时 | 直接 -h 自动选单位最省心 |
深度入口
- free 使用教程—— buff/cache 回收机制、available 怎么算
- 5 分钟上手 vmstat—— 配合看 si/so 确认是否换页
- 5 分钟上手系列
一句话总结:free 看内存 = free -h 跑起来 → 重点盯 available(不是 free)判断是否真紧张 → buff/cache 大是健康缓存、Swap used 持续增长才是内存瓶颈信号。