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 列的值处于一个较大的、可接受的范围,就说明内存资源是充足的。

相关推荐
Gauss松鼠会44 分钟前
【GaussDB】如何从GaussDB发布包中提取出内核二进制文件
linux·数据库·database·gaussdb
大聪明-PLUS44 分钟前
如何向 FFmpeg 添加编解码器
linux·嵌入式·arm·smarc
linux修理工1 小时前
vagrant file 设置固定IP并允许密码登录
java·linux·服务器
·s.*1 小时前
So-arm 101机械臂训练搭建全流程
linux·ubuntu·机器人
繁华似锦respect1 小时前
C++ 设计模式之代理模式详细介绍
linux·开发语言·c++·windows·设计模式·代理模式·visual studio
似水流年 光阴已逝1 小时前
拒绝“失联”:Linux 云服务器无法登录的全链路排查手册
linux·运维·服务器
脏脏a2 小时前
【Linux】进程优先级:谁先 “上车” 谁说了算?
linux·运维·服务器
要站在顶端3 小时前
Jenkins 多分支流水线配置教程
运维·servlet·jenkins
_星辰大海乀9 小时前
IP 协议
服务器·网络·tcp/ip·nat·子网掩码·ip协议