服务器测评网
我们一直在努力

Linux memory查看命令有哪些?如何快速查看内存使用情况?

在Linux系统中,内存是系统运行的核心资源之一,有效查看和管理内存状态对于系统性能优化、故障排查至关重要,本文将详细介绍Linux环境下查看内存信息的多种方法,涵盖基础命令、进阶分析及可视化工具,帮助用户全面掌握内存监控技巧。

Linux memory查看命令有哪些?如何快速查看内存使用情况?

基础命令:快速查看内存概览

free命令:最直观的内存使用统计

free是Linux中最常用的内存查看命令,通过-h参数可自动以合适单位(KB/MB/GB)显示数据。

free -h

输出结果包含total(总内存)、used(已用)、free(空闲)、shared(共享内存)、buff/cache(缓存+缓冲区)和available(可用内存,推荐参考此值而非free),其中available是系统实际可分配给应用的内存,已考虑回收缓存的空间。

vmstat命令:虚拟内存统计概览

vmstat提供进程、内存、I/O、CPU等系统的整体状态,内存相关字段包括:

  • swpd:已使用的交换分区大小;
  • free:空闲内存;
  • buff:缓冲区大小;
  • cache:缓存大小。
    vmstat -s可按内存用途分类统计,适合查看内存分配细节。

进阶分析:深入内存使用细节

/proc/meminfo:原始内存信息文件

/proc/meminfo是内核导出的内存详细信息文本,通过cat /proc/meminfo可查看所有内存参数,关键条目包括:

Linux memory查看命令有哪些?如何快速查看内存使用情况?

  • MemTotal:总物理内存;
  • MemFree:完全空闲内存;
  • MemAvailable:可用内存(含可回收缓存);
  • Slab:内核数据结构缓存;
  • Dirty:等待写入磁盘的内存页。
    此方法适合脚本调用或需要精确数据的场景。

smem工具:区分进程内存类型

smem可计算进程的PSS(Proportional Set Size)、USS(Unique Set Size)等指标,更准确反映进程实际内存占用,需先安装:sudo apt install smem(Ubuntu/Debian)或sudo yum install smem(CentOS/RHEL)。

smem -t -p  # 按进程显示内存占比

其中USS为进程独占且无法共享的内存,PSS按比例分摊共享内存,是评估进程内存占用的更优指标。

可视化工具:图形化内存监控

htop:交互式进程监控

htoptop的增强版,以彩色界面展示内存使用,支持排序、过滤操作,通过F6选择MEM%可按内存占用排序进程,M键切换内存排序模式,其底部状态栏显示Mem[bar]直观展示内存分配比例。

gnome-system-monitor:GNOME环境系统监视器

在GNOME桌面环境中,通过gnome-system-monitor打开图形界面,可查看“资源”选项卡下的内存使用图表,支持进程列表排序及内存历史曲线,适合桌面用户直观分析。

Linux memory查看命令有哪些?如何快速查看内存使用情况?

glances:全系统资源监控

glances是一款跨平台监控工具,通过pip install glances安装后运行,可实时显示内存使用率、缓存占用、交换分区及进程内存详情,支持-m参数仅显示内存模块,适合高级用户快速定位问题。

内存问题排查:关键指标与场景分析

常见内存问题排查场景

场景 排查命令 关键指标
内存不足导致系统卡顿 free -hvmstat 1 available持续低于10%、si/so非零
进程异常占用内存 smem -tps -e --sort=-%mem 进程PSS/USS过高、内存泄漏趋势
交换分区频繁使用 vmstat 1swapon -s si(swap in)/so(swap out)持续升高
缓存占用过多影响应用 free -hsync; echo 3 > /proc/sys/vm/drop_caches 清理缓存后available是否恢复

Linux内存查看工具从基础到进阶各有侧重:free适合快速概览,/proc/meminfo提供原始数据,smem精准分析进程内存,而htopglances等工具则提升监控效率,根据实际需求选择合适工具,结合availablePSS等核心指标,可有效掌握内存状态,优化系统性能,对于生产环境,建议结合日志与历史数据趋势分析,提前预警内存风险。

赞(0)
未经允许不得转载:好主机测评网 » Linux memory查看命令有哪些?如何快速查看内存使用情况?