本文是Linux查看内存使用情况的完全指南,详细解读了从基础到进阶的监控方法,内容涵盖了free命令对内存总量与剩余情况的分析,以及top命令对进程内存占用的实时监控,掌握这些工具,能帮助用户全面了解系统内存状态并进行有效优化。
在 Linux 系统管理中,监控内存使用情况是判断系统性能和稳定性的关键步骤,很多新手用户在看到 used(已用内存)数值很高时往往会感到恐慌,但实际上,Linux 的内存管理机制与 Windows 有所不同。
本文将详细介绍如何查看 Linux 内存使用情况,并教你如何正确解读这些数据。
使用 free 命令(最直观、最常用)
free 命令是查看内存使用情况最基础也是最常用的工具,为了方便阅读,建议使用 -h 参数(human-readable),它会自动将内存单位转换为 GB、MB 等。

基本用法:
free -h
输出解读: 运行该命令后,你会看到类似以下的表格:
total used free shared buff/cache available Mem: 7.6Gi 3.1Gi 1.2Gi 323Mi 3.3Gi 4.4Gi Swap: 2.0Gi 0B 2.0Gi
这里有几个关键指标需要注意:
- total: 物理内存的总容量。
- used: 已分配给进程使用的内存。注意: 这个数值包含一部分被“缓存”占用的内存。
- free: 空闲的物理内存。
- buff/cache: 这是 Linux 内存管理的核心,Linux 会利用空闲内存来缓存磁盘数据(buff)和文件系统元数据(cache)。这部分内存虽然被标记为“used”,但实际上是可以随时回收给应用程序使用的。
- available: 这是最重要的指标。 它表示“实际可用”的内存总量,包含了空闲内存和可回收的缓存内存,如果这个数值接近 0,系统才真正面临内存不足的风险。
使用 top 或 htop 命令(实时监控)
top 命令提供了一个实时的、动态的系统概览,它不仅能看总内存,还能帮你找出是哪个具体进程占用了大量内存。
基本用法:
top
操作说明:
- 在
top界面中,按M键可以按内存使用率对进程进行排序,这样你就能一眼看到哪个程序最“吃内存”。 - 在顶部的统计信息中,你会看到
MiB Mem部分,其含义与free命令中的Mem:行完全一致。
进阶工具:htop
如果你觉得 top 界面不够美观,推荐安装 htop(通常通过 yum install htop 或 apt install htop 安装)。htop 是彩色的,支持鼠标操作,且显示的 buff/cache 会被区分开,更容易理解。
使用 vmstat 命令(查看内核视角)
vmstat(虚拟内存统计)主要关注的是虚拟内存和内核线程,但也可以用来查看内存状态。
基本用法:
vmstat 1
(参数 1 表示每秒刷新一次)
关注列:
swpd: 已使用的交换分区大小,如果这个数值在不断增加,说明物理内存不足,系统正在频繁使用硬盘交换空间,这会严重拖慢系统速度。free: 空闲物理内存。buff: 缓冲区大小。cache: 页缓存大小。
常见误区与总结
误区:内存满了?
当你运行 free -h 发现 used 接近 total,甚至 free 为 0 时,不要惊慌。
在 Linux 下,只要 available(可用内存)还有剩余,系统就是健康的。buff/cache 占用的空间是“借”给应用程序用的,Linux 内核会根据需要随时释放它们。
什么时候需要担心?
- 当
available的数值变得非常低(例如接近 0)。 - 当
swap的使用量(swpd)开始大于 0。
- 想快速看一眼: 输入
free -h。 - 想看谁占用了内存: 输入
top并按M

