上一篇
Linux内存查看方法
- Linux
- 2025-06-15
- 3800
Linux查看内存使用常用命令:
free -h
显示总量、已用和空闲内存;
top
或
htop
实时监控进程内存占用;
vmstat
分析内存趋势,
/proc/meminfo
文件提供详细数据。
free
命令(最常用)
作用:快速查看内存总量、使用量及缓存情况
常用参数:-h
(人性化单位)、-s
(间隔刷新)
示例:
free -h
输出解读:
total used free shared buff/cache available
Mem: 7.7G 2.1G 1.2G 123M 4.4G 5.2G
Swap: 2.0G 0B 2.0G
- available:系统可用内存(含缓存可回收部分),关键指标!
- buff/cache:内核缓存(可被程序快速回收)
- Swap:虚拟内存使用量(过高可能需优化物理内存)
top
/ htop
命令(动态监控)
作用:实时查看进程级内存占用
操作:
- 运行
top
后按M
按内存排序 htop
(需安装)提供更友好的交互界面
关键列:
%MEM
:进程占用物理内存百分比VIRT
:虚拟内存总量(含共享库等)RES
:实际物理内存使用量(常关注此项)
/proc/meminfo
(底层数据源)
作用:所有内存命令的数据来源,提供最详细信息
查看方式:
cat /proc/meminfo
核心参数:
MemTotal
:总物理内存MemFree
:完全未使用的内存Cached
:页面缓存(文件读取缓存)SwapCached
:交换区缓存Buffers
:块设备缓存(如磁盘写入)Shmem
:共享内存/tmpfs用量
vmstat
命令(统计内存趋势)
作用:监控内存、交换、IO等系统活动
示例(每2秒刷新1次):
vmstat 2
内存相关输出:
--memory-- --swap--
swpd free buff cache si so
0 1.2G 0.3G 4.1G 0 0
- si/so:Swap换入/换出速度(>0 表示内存紧张)
- buff/cache:与
free
命令含义一致
smem
工具(高级报告)
安装:sudo apt install smem
(Debian/Ubuntu)
优势:按进程、用户或全局统计实际内存占用(PSS/USS)
示例:
smem -t -k # 表格化显示(含百分比)
- USS:进程独占内存(最准确)
- PSS:均摊共享内存后的实际用量
GNOME System Monitor(图形化工具)
适用场景:桌面环境用户
路径:gnome-system-monitor
→ “资源”标签页
功能:直观展示内存/交换空间曲线图及进程列表
关键概念解析
- 可用内存(available) ≠ 空闲内存(free):
available
=free
+ 可回收缓存(系统实际可用资源) - 缓存(Cache):主动保留加速读写,内存不足时自动释放
- Swap使用:少量使用正常,持续增长需警惕内存瓶颈
最佳实践建议
- 日常监控用
free -h
关注 available 值 - 进程排查用
top
或smem
定位高内存进程 - 内存泄漏检测:连续运行
vmstat 2
观察 free 和 si/so 变化 - 警惕现象:Swap持续写入(so>0)且 available < 10% 总内存
引用说明参考 Linux man 手册(free、top、vmstat)、内核文档 /proc/meminfo,以及 Red Hat 性能优化指南,数据解读基于 Linux 内核内存管理机制。