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个winpe

    制作Linux PE和Windows PE(WinPE)是系统维护、数据恢复和重装系统的常用技能,两者分别适用于不同的场景:Linux PE以开源、轻量著称,适合Linux系统修复和数据备份;WinPE则深度集成Windows环境,适合Windows系统维护和驱动安装,以下是两者的详细制作方法,制作Linux……

    2025年10月2日
    1200
  • Linux系统如何删除错误日志?

    在Linux系统中,日志文件记录了系统运行、应用程序状态及错误信息,但随着时间推移,日志文件可能占用大量磁盘空间,影响系统性能,删除错误日志是维护系统健康的必要操作,但需注意方法正确,避免误删关键日志导致问题,本文将详细介绍Linux系统中删除错误日志的多种方法、注意事项及常见问题解决方案,Linux常见错误日……

    2025年10月7日
    900
  • Linux如何3秒查看CPU信息?

    使用 lscpu 命令(推荐)最简洁的专业工具,直接显示CPU架构和核心信息:lscpu输出关键字段解析:Architecture:CPU架构(如x86_64、ARM)CPU(s):逻辑处理器总数(线程数)Core(s) per socket:单个物理CPU的核心数Socket(s):物理CPU插槽数量Mode……

    2025年7月29日
    3500
  • Linux安装tar.xz文件的具体步骤和方法是什么?

    在Linux系统中,tar.xz文件是一种常见的压缩包格式,它结合了tar(用于打包多个文件或目录)和xz(用于高压缩比压缩)的优势,常用于分发源码包或便携式应用,安装tar.xz文件的核心步骤包括解压、配置(如为源码包)、编译和安装,具体流程需根据文件内容(二进制包或源码包)调整,以下是详细操作指南:安装前准……

    2025年8月26日
    2600
  • Windows系统中如何具体实现FTP登录Linux服务器的详细操作步骤?

    在Windows系统中通过FTP协议登录Linux服务器进行文件传输是常见的跨平台操作需求,广泛应用于服务器管理、文件备份、数据共享等场景,FTP(File Transfer Protocol)是一种基于TCP/IP协议的应用层协议,支持客户端与服务器之间的文件上传、下载、删除等操作,本文将详细介绍从Windo……

    2025年9月29日
    1300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信