free命令是linux下实时查看内存使用状况的常用工具,支持以kb/mb/gb显示、动态刷新、总量统计及管道过滤等用法,重点关注available列判断可用内存。

如果您需要在Linux系统中实时了解当前内存的使用状况,free命令是最常用且直接的工具之一。该命令可显示物理内存、交换空间(swap)以及缓存和缓冲区的详细分配情况。以下是使用free命令查看内存占用的具体方法:
一、基础用法:执行free命令
free命令默认以KB为单位输出内存信息,包含总内存、已用、空闲、共享、缓存和可用内存等关键字段。其输出结构清晰,便于快速定位内存压力来源。
1、打开终端(如GNOME Terminal、Konsole或通过SSH连接)。
2、输入以下命令并按回车执行:free。
3、观察输出中的Mem行,重点关注used、free和available三列数值。
二、以人类可读格式显示(-h参数)
默认单位为KB,数值较大不易直观判断,添加-h选项可自动转换为KB、MB、GB等合适单位,提升可读性。
1、在终端中输入:free -h。
2、确认输出中各列数值后缀为K、M或G,例如1.2G或786Mi。
3、注意available列代表当前可供新进程立即使用的内存量,比free列更具参考价值。
三、持续动态刷新监控(-w与-s组合)
通过指定刷新间隔,可实现类似top的实时内存监控效果,适用于观察内存波动或排查瞬时峰值问题。
1、输入命令:free -h -w -s 2,其中-s 2表示每2秒刷新一次,-w启用宽格式显示buffers/cache列。
2、观察屏幕持续更新的输出,重点关注available值是否持续下降或接近零。
3、按Ctrl+C可随时终止刷新。
四、显示内存总量与各区域占比(-m与--total)
使用-m强制以MB为单位,并结合--total参数,可在底部额外汇总所有内存设备(包括物理内存与swap)的合计使用情况。
1、执行命令:free -m --total。
2、在输出末尾找到Total行,查看Mem与Swap合并后的总用量、已用及空闲数值。
3、对比Mem行的available与Total行的used,辅助判断是否存在swap过度使用现象。
五、结合其他命令辅助分析(grep与awk过滤)
当需提取特定字段(如仅查看available值)或集成到脚本中时,可通过管道配合grep或awk精确截取数据。
1、仅显示Mem行的available列数值(不含单位):free -h | grep "Mem:" | awk '{print $7}'。
2、获取以MB为单位的可用内存整数:free -m | grep "Mem:" | awk '{print $7}'。
3、检查swap使用率是否非零:free -h | grep "Swap:" | awk '{if($3>0) print "SWAP IN USE"}'。










