Linux 内存监控必备!free 命令超详细图解|看懂内存 / 缓存 / Swap 不再懵
一、命令简介free命令是 Linux 系统中用于查看物理内存RAM与交换空间Swap使用情况的基础工具。它可以清晰展示总内存、已用内存、空闲内存、缓冲区 / 缓存以及可用内存等关键数据是系统管理员、运维人员与开发者监控服务器内存资源、排查性能瓶颈的必备命令。二、语法格式bash运行free [选项]三、常用选项及说明表格选项说明-b以字节Byte为单位显示内存-k以千字节KB为单位显示默认-m以兆字节MB为单位显示-g以吉字节GB为单位显示-h人类可读格式自动适配单位最常用-s 秒数按指定间隔持续刷新内存数据-c 次数配合 -s 使用指定刷新次数-t底部增加一行总计汇总物理内存 Swap-w将 buffers 与 cache 分开列显示更详细-V显示 free 命令版本信息四、示例用法示例 1默认格式显示bash运行free输出示例texttotal used free shared buff/cache available Mem: 8027852 1532464 4788324 78496 1707064 6135740 Swap: 2097148 0 2097148示例 2人类可读格式推荐bash运行free -h输出示例texttotal used free shared buff/cache available Mem: 7.6Gi 1.5Gi 4.6Gi 76Mi 1.6Gi 5.8Gi Swap: 2.0Gi 0B 2.0Gi示例 3MB 单位 显示总计bash运行free -mt输出示例texttotal used free shared buff/cache available Mem: 7837 1496 4675 76 1665 5991 Swap: 2047 0 2047 Total: 9884 1496 6722示例 4持续监控内存每 2 秒刷新bash运行free -s 2按CtrlC终止。示例 5定时刷新指定次数bash运行free -s 1 -c 5示例 6分开显示 buffers 与 cachebash运行free -w输出示例texttotal used free shared buffers cache available Mem: 8027852 1532464 4788324 78496 12345 1694719 6135740 Swap: 2097148 0 2097148五、输出字段详解以free -h为例Mem物理内存total系统总物理内存大小used已使用内存含进程、缓存等free完全空闲未被占用的内存shared多进程共享内存多与 tmpfs 相关buff/cache内核缓冲区与页面缓存总和可快速回收available可直接分配给新程序的内存判断内存是否充足的核心指标Swap交换空间totalSwap 总大小used已使用 Swapfree空闲 Swap旧版-/ buffers/cache说明旧版 free 会显示此行-buffers/cache应用实际占用物理内存buffers/cache应用可使用内存新版中available已基本替代该含义更直观准确。六、注意事项available 才是关键不要只看 freeavailable才是判断内存是否紧张的核心指标。长期过低10% 总内存可能需要加内存或优化程序。Swap 使用解读少量 Swap 使用属正常若 Swap 持续上涨且 available 极低说明物理内存严重不足系统会因频繁换入换出导致卡顿。缓存buff/cache是友非敌Linux 会用空闲内存做磁盘缓存提升性能应用需要时会自动释放。看到 free 低、cache 高属于正常高效状态无需恐慌。单位选择建议日常排查优先用free -h脚本统计可指定-g/-m方便计算。