在 Linux 系统中,查看内存使用情况的常用命令如下,涵盖不同维度的信息展示:
free - 查看内存和交换分区使用情况free -h # 人类可读格式(自动转换单位)
free -m # 以 MB 为单位显示
free -s 5 # 每 5 秒刷新一次
输出关键字段说明:
- total:总内存。
- used:已用内存(含缓存/缓冲区)。
- free:完全未使用的内存。
- shared/buff/cache:缓存和缓冲区占用的内存。
- available:实际可用的内存(估算值)。
top / htop - 动态查看进程及内存占用top # 实时监控(按 `q` 退出)
htop # 增强版(需安装,支持交互式操作)
关键信息:
- %MEM:进程占用物理内存百分比。
- RES:进程实际使用的物理内存(单位 KB)。
- VIRT:进程使用的虚拟内存总量。
vmstat - 查看虚拟内存统计vmstat -s # 显示详细内存统计(包括页、交换分区等)
vmstat 2 5 # 每 2 秒刷新一次,共 5 次
输出字段:
- si(swap in)、so(swap out):交换分区活动。
- free:空闲内存。
- buff/cache:缓存和缓冲区用量。
/proc/meminfo - 详细内存信息文件cat /proc/meminfo # 显示所有内存细节
关键字段:
- MemTotal、MemFree、MemAvailable。
- SwapTotal、SwapFree。
- Buffers、Cached、Slab。
ps - 查看特定进程内存占用ps aux --sort=-%mem | head -10 # 按内存使用排序显示前 10 个进程
ps -p <PID> -o %mem,rss # 查看指定进程的内存占用和 RSS
glances - 综合监控工具(需安装)glances # 图形化界面显示 CPU、内存、磁盘等
smem - 按用户或进程统计内存(需安装)smem -u # 按用户汇总内存使用
smem -p # 按进程显示比例
sar - 历史内存监控(需安装 sysstat)sar -r 1 3 # 查看实时内存使用(每秒 1 次,共 3 次)
sar -r -f /var/log/sa/saXX # 查看历史数据(XX 为日期)
free -htop 或 ps aux --sort=-%memvmstat -s 结合 /proc/meminfosar -r根据需求选择命令,多数场景下 free 和 top 已能满足基本需求。