当前位置:首页 > Linux > 正文

Linux内存查看方法

Linux查看内存使用常用命令: free -h显示总量、已用和空闲内存; top或 htop实时监控进程内存占用; vmstat分析内存趋势, /proc/meminfo文件提供详细数据。

free 命令(最常用)

作用:快速查看内存总量、使用量及缓存情况

常用参数:-h(人性化单位)、-s(间隔刷新)

示例

free -h

输出解读

Linux内存查看方法 第1张

  • available:系统可用内存(含缓存可回收部分),关键指标!
  • buff/cache:内核缓存(可被程序快速回收)
  • Swap:虚拟内存使用量(过高可能需优化物理内存)


top / htop 命令(动态监控)

作用:实时查看进程级内存占用

操作

  1. 运行 top 后按 M 按内存排序
  2. htop(需安装)提供更友好的交互界面

    关键列

  • %MEM:进程占用物理内存百分比
  • VIRT:虚拟内存总量(含共享库等)
  • RES:实际物理内存使用量(常关注此项)


/proc/meminfo(底层数据源)

作用:所有内存命令的数据来源,提供最详细信息

查看方式

cat /proc/meminfo

核心参数

Linux内存查看方法 第2张

  • MemTotal:总物理内存
  • MemFree:完全未使用的内存
  • Cached:页面缓存(文件读取缓存)
  • SwapCached:交换区缓存
  • Buffers:块设备缓存(如磁盘写入)
  • Shmem:共享内存/tmpfs用量


vmstat 命令(统计内存趋势)

作用:监控内存、交换、IO等系统活动

示例(每2秒刷新1次):

vmstat 2

内存相关输出

Linux内存查看方法 第3张

--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使用:少量使用正常,持续增长需警惕内存瓶颈


最佳实践建议

  1. 日常监控用 free -h 关注 available
  2. 进程排查用 top 或 smem 定位高内存进程
  3. 内存泄漏检测:连续运行 vmstat 2 观察 freesi/so 变化
  4. 警惕现象:Swap持续写入(so>0)且 available < 10% 总内存

引用说明参考 Linux man 手册(free、top、vmstat)、内核文档 /proc/meminfo,以及 Red Hat 性能优化指南,数据解读基于 Linux 内核内存管理机制。

0