Linux命令-free命令(查看系统内存(RAM)和交换空间(Swap)使用情况)

🧭说明

free 命令是 Linux 系统中用于查看系统内存(RAM)和交换空间(Swap)使用情况的重要工具。下面这张表格汇总了它的常用选项,方便快速查阅。

选项 说明
-h 以人类易读的格式(如 K, M, G)显示单位,最常用
-b / -k / -m / -g 分别以字节(B)、千字节(KB)、兆字节(MB)、千兆字节(GB)为单位显示。
-t 在输出结果中添加一行 总计(Total),显示物理内存与交换空间的总和。
-s N 每隔 N 秒 自动刷新一次输出信息,用于持续观察(按 Ctrl+C 退出)。
-c N -s 选项结合使用,控制重复输出的 次数
-l 显示 详细 的低内存和高内存统计信息。
-w 宽输出 模式,将缓冲(buffers)和缓存(cache)信息分开显示。

💡 基本使用与输出解读

在终端直接输入 free 命令会显示当前内存使用情况,默认以KB为单位。结合 -h 选项是实践中最常用的方式,能让数据更易读。

bash 复制代码
free -h

命令输出通常如下所示:

复制代码
               total        used        free      shared  buff/cache   available
Mem:           7.7G        2.1G        1.2G        345M        4.4G        5.1G
Swap:          2.0G        0B          2.0G

需要重点理解以下几个关键字段的含义:

  • Mem行(物理内存)

    • total:系统总的物理内存大小。
    • used:已使用的内存量(这个值通常包括了应用程序使用的内存和系统缓存)。
    • free:完全未被使用的内存量。
    • buff/cache :被系统用作缓冲区缓存的内存。这部分内存在需要时(如运行新程序但空闲内存不足)可以被内核立即回收,所以它实际上是一种"磁盘性能加速器"。
    • available :这是评估可用内存的关键指标 。它估算的是在不进行 Swap 交换的情况下,可供新启动应用程序使用的内存量。其值约等于 free 的内存加上可回收的 buff/cache 内存。因此,当要判断内存是否充足时,应主要参考此列而非 free 列。
  • Swap行(交换空间)

    • 当物理内存不足时,系统会将物理内存中不活跃的页面移动到硬盘上预先划分的 Swap 空间,从而为更紧急的任务腾出物理内存。由于硬盘读写速度远慢于内存,过度的 Swap 使用会显著降低系统性能 。如果发现 Swapused 值持续增长,通常意味着物理内存已经不足,需要关注。

💎 实用技巧与场景

  1. 实时监控内存变化

    可以使用 -s 选项让 free 命令定期刷新,这对于观察内存使用的动态变化很有帮助。例如,以下命令会每 3 秒刷新一次显示:

    bash 复制代码
    free -h -s 3
  2. 正确评估内存状态

    不要被 free 列很小的数值吓到,认为内存耗尽了。在 Linux 中,充分利用内存作为缓存是提高性能的标准做法 。一个健康且高效运行的系统,往往 free 内存很少,而 buff/cache 占用的内存较多。只要 available 列的值处于一个较大的、可接受的范围,就说明内存资源是充足的。

相关推荐
chlk12321 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑21 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux