上一篇                     
               
			  Linux内存使用情况怎么检查?
- Linux
- 2025-06-11
- 3268
 查看Linux内存常用命令:
 
 
free -h显示物理内存和交换空间使用情况;
 top或
 htop实时查看进程内存占用;
 cat /proc/meminfo获取详细内存数据。
基础命令:free
 
最快速的内存概览工具
执行命令:
free -h
输出示例:
              total    used    free  shared  buff/cache   available
Mem:           7.7G    2.1G    1.2G    123M        4.4G        5.2G
Swap:          2.0G     55M    1.9G关键指标解析:
- total:物理内存总量
- used:已用内存(含缓存)
- free:完全未使用的内存
- buff/cache:内核缓冲区(Buffer)和页面缓存(Cache),可被程序快速回收
- available:核心指标!系统可用内存(含缓存可回收部分),反映真实剩余可用量
- Swap:交换空间使用情况(频繁使用可能需扩容内存)
建议始终用
-h(人类可读格式)或-m(MB单位)。available值 >20% 内存总量表示健康。
动态监控:top 与 htop
 
实时进程级内存分析
-  top命令(系统自带): top - 按 Shift+M根据内存使用排序
- 关键字段: 
    - VIRT:虚拟内存(含共享库)
- RES:实际物理内存占用
- %MEM:进程占用物理内存百分比
 
 
- 按 
-  htop命令(需安装,更直观):sudo apt install htop # Debian/Ubuntu sudo yum install htop # CentOS/RHEL htop - 彩色界面显示,支持鼠标操作
- 直接展示内存/交换空间使用进度条
 
高级统计:vmstat
 
分析内存、交换、I/O综合性能
vmstat -s -S M # 以MB为单位输出统计
输出示例:
      7808 M total memory
      2147 M used memory
      3892 M active memory
      1321 M inactive memory
       128 M free memory
        ... 核心参数:

- -s:显示详细统计报告
- -S M/K:指定单位(MB/KB)
- si/so:Swap In/Out(>0 表示频繁交换,需警惕)
深度解析:/proc/meminfo
 
内核级内存数据源
cat /proc/meminfo
关键字段:
- MemTotal:总物理内存
- MemFree:完全空闲内存
- Cached:页面缓存(加速文件读取)
- SwapCached:交换缓存
- Buffers:块设备缓冲区
- Shmem:共享内存
- MemAvailable:最可靠的可用内存估值(推荐优先关注)
专业提示:编程获取内存数据时(如Python脚本),直接读取此文件效率最高。
图形化工具
适合桌面用户

- GNOME系统监视器: 
  - 通过菜单启动或运行 gnome-system-monitor
- “资源”标签页直观显示内存/交换空间曲线图
 
- 通过菜单启动或运行 
- KSysGuard(KDE环境): 提供实时图表和历史数据记录 
组合命令技巧
快速提取关键数据
- 仅显示可用内存: grep "MemAvailable" /proc/meminfo 
- 监控内存变化(每2秒刷新): watch -n 2 "free -h | grep -E 'Mem|Swap'" 
最佳实践总结
| 场景 | 推荐工具 | 原因 | 
|---|---|---|
| 快速检查可用内存 | free -h | 简洁直观 | 
| 定位高内存进程 | htop | 交互式排序,可视化强 | 
| 长期性能趋势分析 | vmstat 2 | 持续输出,结合I/O/CPU | 
| 脚本调用 | /proc/meminfo | 无格式解析,编程友好 | 
| 桌面环境 | GNOME系统监视器 | 图形化,零学习成本 | 
重要提醒:
- Linux会利用空闲内存作缓存(
buff/cache),看似占用高实际是性能优化,无需恐慌- 若
Swap持续写入(si/so >0),可能需扩展物理内存- 生产环境建议用
sar(sysstat包)记录历史数据
引用说明: 参考 Linux man 手册(man free、man top、man vmstat)及内核文档 proc(5),数据释义遵循 Linux 内核标准,适用于主流发行版(Ubuntu/CentOS/Debian等)。
 
  
			 
			 
			 
			 
			 
			 
			 
			