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

相关推荐
小Tomkk4 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊4 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
木卫二号Coding4 小时前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
getapi4 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19435 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑5 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源5 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
Trouvaille ~5 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏5 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南5 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl