Linux内存使用异常如何速查?

free 命令(最常用)

作用:快速查看物理内存、交换空间(Swap)和内核缓冲区的使用情况。
常用参数

  • -h(人性化显示单位):free -h
  • -s [秒](定时刷新):free -h -s 5(每5秒刷新)

输出解析

              total    used    free    shared  buff/cache   available
Mem:           7.6G    2.1G    3.2G     123M        2.3G        5.0G
Swap:          2.0G     0B      2.0G
  • available:系统可用内存(含缓存可回收部分),是判断内存余量的关键指标。
  • buff/cache:被内核缓冲区(Buffer)和页面缓存(Cache)占用的内存,必要时可被释放。

tophtop 命令(动态监控)

作用:实时显示进程级内存占用,支持交互式排序。

  • 基础用法:直接运行 top,按 Shift+M 按内存使用排序。
  • 进阶工具htop(需安装,界面更友好):
    sudo apt install htop  # Debian/Ubuntu
    sudo yum install htop  # CentOS/RHEL
    htop

    关键列

  • %MEM:进程占用物理内存百分比。
  • RES:实际使用的物理内存(单位KB)。
  • VIRT:虚拟内存总量(含共享库和Swap)。

解析 /proc/meminfo(底层数据源)

作用:所有内存命令的数据均来源于此文件,提供最详细的内存统计。
查看方式

cat /proc/meminfo

核心字段

  • MemTotal:总物理内存。
  • MemFree:完全未使用的内存。
  • Cached:页面缓存(加速文件读写)。
  • SwapTotalSwapFree:交换空间总量与剩余量。
  • Shmem:共享内存(如tmpfs)。

专业提示/proc/meminfo 中的 MemAvailablefree 命令中 “available” 的原始数据,反映系统真实可用内存。


vmstat 命令(分析内存趋势)

作用:监控内存、Swap、I/O和CPU的实时变化,适合诊断性能瓶颈。
示例

vmstat -w -S M 1  # 每1秒刷新,以MB为单位显示

输出关键列

  • swpd:已用Swap大小。
  • free:空闲物理内存。
  • buffcache:缓冲区与缓存用量。
  • si(swap in)/ so(swap out):Swap交换频率,持续不为0可能预示内存不足。

smem 命令(按用户统计)

作用:按用户或进程聚合内存占用,需安装:

sudo apt install smem  # Debian/Ubuntu
sudo yum install smem  # CentOS/RHEL

常用示例

smem -u  # 按用户汇总内存
smem -p -P firefox  # 查看Firefox相关进程的内存

glances(全能监控工具)

作用:图形化终端仪表盘,集成内存、CPU、磁盘等监控。
安装与使用:

pip install glances
glances

在Linux系统中,监控内存使用情况是系统管理和故障排查的核心任务之一。以下是几种专业且高效的方法,结合常用命令和系统文件,帮助您全面掌握内存状态,

界面中 MEM 部分直观展示使用率、Swap及进程排行。


场景化推荐

  • 快速概览free -h
  • 诊断卡顿top(观察高内存进程)
  • 深挖瓶颈vmstat 结合 si/so
  • 开发调试smem/proc/meminfo

为什么关注内存指标?

  • 物理内存不足 → 触发Swap交换,显著降低性能。
  • 缓存(Cache)占用高 → 通常是正常优化,非问题。
  • Available值过低(如 <10%)→ 需及时扩容或优化应用。

ℹ️ 注意:Linux会充分利用空闲内存作缓存,“free” 值低不代表内存紧张,”available” 才是关键。


引用说明: 参考 Linux man 手册(man freeman top)、Kernel.org /proc文档及 Ubuntu Server 最佳实践指南,命令兼容主流发行版(Ubuntu, CentOS, RHEL等)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8020.html

(0)
酷番叔酷番叔
上一篇 2025年7月19日 20:26
下一篇 2025年7月19日 20:38

相关推荐

  • 还在为低效工作烦恼?

    在Linux系统中,IP地址冲突(即同一局域网内多个设备使用相同IP)会导致网络中断、服务异常等问题,以下是几种专业且高效的检测方法,结合命令行工具和系统日志分析:使用 arp-scan 工具(推荐)arp-scan 是专为IP冲突检测设计的工具,能快速扫描局域网并识别重复IP,操作步骤:安装工具(Debian……

    2025年6月23日
    13000
  • Linux系统中,查看当前用户身份的常用命令有哪些?

    在Linux系统中,查看当前用户信息是日常管理和脚本编写中的常见需求,Linux提供了多种命令和方法来获取当前用户信息,包括直接显示用户名、查看用户ID、所属组、登录会话详情等,这些方法各有特点,适用于不同的场景,下面将详细介绍这些方法及其原理、使用方式和注意事项,基础命令:直接显示当前用户名whoami命令w……

    2025年8月29日
    10500
  • Linux中如何修改GRUB配置文件?

    在Linux系统中,GRUB(Grand Unified Bootloader)是广泛使用的引导加载程序,负责在系统启动时加载内核并初始化系统,修改GRUB配置文件可以自定义启动选项、默认启动项、超时时间等,满足个性化或故障排查需求,本文将详细介绍Linux中修改GRUB配置文件的完整流程,包括配置文件位置、关……

    2025年9月21日
    9900
  • Linux如何添加用户及用户组?

    在Linux系统中,用户和用户组是管理文件权限、系统资源访问和安全性的核心机制,合理添加和管理用户及用户组,既能保障系统安全,又能实现多用户协同工作,本文将详细介绍Linux环境下添加用户和用户组的操作方法、常用参数及注意事项,用户组管理基础用户组(Group)是用户的集合,通过将用户划分到不同组,可以简化权限……

    2025年9月26日
    8300
  • 如何制作Linux SD卡?

    准备工作硬件需求SD 卡:容量 ≥16GB(建议 Class 10 以上,读写速度 ≥30MB/s),读卡器:支持 USB 3.0 以提升写入速度,计算机:Windows/macOS/Linux 系统均可,软件工具镜像写入工具:Windows: Rufus 或 BalenaEtchermacOS/Linux……

    2025年7月29日
    10100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信