# free 命令
free
命令用于显示系统的内存使用情况,包括物理内存、交换空间(swap)、缓冲区和缓存。
# 语法
free [选项]
# 常用选项
-h
: 以人类可读的格式显示-s N
: 每N秒更新一次显示-t
: 显示内存总计-w
: 使用宽输出模式-b/k/m/g
: 以字节/KB/MB/GB为单位显示
# 使用示例
# 基本用法
# 显示内存使用情况(人类可读格式)
free -h
# 每3秒更新一次显示
free -h -s 3
# 显示详细信息(宽输出模式)
free -w
# 不同单位显示
# 以MB为单位显示
free -m
# 以GB为单位显示
free -g
# 显示完整的字节数
free -b
# 持续监控
# 每秒更新一次,显示10次
free -h -s 1 -c 10
# 持续监控并保存到文件
free -h -s 5 | tee memory.log
# 输出说明
- total: 总内存大小
- used: 已使用内存
- free: 空闲内存
- shared: 共享内存
- buff/cache: 缓冲区和缓存使用的内存
- available: 可用内存(包括可回收的缓存)
# 实际应用场景
- 系统监控:监控系统内存使用情况
- 性能分析:分析系统内存瓶颈
- 问题诊断:排查内存相关问题
- 容量规划:评估内存需求
# 注意事项
- buff/cache占用的内存通常可以被应用程序使用
- available不等于free,它包括可以回收的缓存
- 过高的swap使用可能表示内存不足
- 持续监控时注意输出文件大小