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

相关推荐
C++ 老炮儿的技术栈4 分钟前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
Agent产品评测局15 分钟前
企业数据处理自动化落地,抓取分析全流程实现方案 —— 2026企业级智能体选型与技术路径深度解析
运维·人工智能·ai·自动化
autumn200517 分钟前
Flutter 框架跨平台鸿蒙开发 - 历史人物对话
服务器·flutter·华为·harmonyos
爱莉希雅&&&39 分钟前
linux中MySQL数据库备份恢复的四种方法(更新中)
linux·数据库·mysql·数据库备份·mysqldumper
我科绝伦(Huanhuan Zhou)1 小时前
分享一个网络智能运维系统
运维·网络
鬼先生_sir1 小时前
Spring Cloud 微服务监控实战:SkyWalking + Prometheus+Grafana 全栈解决方案
运维·spring cloud·grafana·prometheus·skywalking
信创DevOps先锋1 小时前
DevOps工具链选型新趋势:本土化适配与安全可控成企业核心诉求
运维·安全·devops
coppher1 小时前
Ubuntu 22.04 amd64 离线安装 Docker 完整教程
linux·docker
xyz5991 小时前
如何在 WSL 中删除指定版本的 Ubuntu 以及安装
linux·运维·ubuntu
linux修理工1 小时前
Claude code与CC-switch安装使用
运维·人工智能