当前位置:首页>Linux>Linux 基础:free 命令详解,真正读懂内存使用情况

Linux 基础:free 命令详解,真正读懂内存使用情况

  • 2026-08-27 11:30:03
Linux 基础:free 命令详解,真正读懂内存使用情况

在 Linux 运维或日常排查中,“内存不够用”是一个被反复提起的问题。

但很多人第一次敲下 free 命令时,都会被结果吓一跳:实际上,这往往不是内存真的不够,而是你还没读懂 free 的输出。

今天这篇文章,我们就专门讲清楚:free命令怎么看,Linux的内存到底被谁用了。

一、free 是什么?

free 是 Linux 下用于查看系统内存使用情况的命令,展示的是某一时刻的内存快照。
它关注的核心只有三件事:
物理内存(RAM)
交换分区(Swap)
内存的使用与回收状态

二、最常用的 free 命令

1. 人类友好格式(强烈推荐)

free -h
-h 表示human-readable,自动转换成 GB、MB,非常适合日常查看。
示例输出:

三、重点字段详解(一定要看懂)

1. total / used / free

total:总内存
used:已使用内存
free:完全空闲的内存
这里的误区在于:
free 很小,并不等于内存不够用。

2. buff/cache 是什么?

这是 Linux 最容易被误解的一项。
buffer:块设备缓存
cache:文件系统缓存
Linux 会尽可能利用空闲内存做缓存,提高 IO 性能。
这些内存是可以随时被回收给应用使用的。

3. available 才是真正关键的指标

available: 5.2G
它表示:在不触发 swap 的情况下,应用还能使用的内存
在排查内存是否紧张时,优先看 available,而不是 free。

四、一个常见误区示例

很多新手看到:
free: 512M
就判断“内存快满了”。
但如果同时看到:
available: 5.2G
说明系统内存非常健康,大量缓存可以被回收。

五、Swap 内存怎么看?

1. Swap 是什么?

Swap 是磁盘上的“备用内存”,当物理内存不足时才会使用。
Swap: 2.0G  0B  2.0G
说明:swap 已启用,当前没有使用 swap

2. 什么时候 swap 使用是危险信号?

如果你看到:
Swap: 2.0G  1.8G  200M
同时系统变慢,基本可以判断:物理内存已经明显不足

六、free 的其他常用参数

1. 以 MB 为单位显示

free -m

2. 周期性刷新(轻量监控)

free -h -s 2
每 2 秒刷新一次,适合观察内存变化趋势。

七、free 与 top、ps 的配合使用

在真实排障中,free 往往不是单独使用的。
常见组合思路:
free -h
判断整体内存是否紧张
top
观察内存实时变化
ps aux --sort=-%mem
找出占内存最多的进程

八、写在最后

如果你只记住 free 命令的三点,那一定是:
  • free 小不代表内存不够
  • buff/cache 是可以被回收的
  • available 才是关键指标
free 是 Linux 内存理解的第一课,真正理解它,能避免你在排障中做出很多错误判断。
如果这篇文章对你有帮助,欢迎关注、点赞、收藏、转发,我们下篇继续聊 Linux 基础。

最新文章

随机文章