news 2026/5/27 22:39:08

主机监控指标解析—内存篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
主机监控指标解析—内存篇

一、内存监控

一.物理内存

这是最直观的内存指标,反映了物理硬件(RAM)的使用情况。

1.1核心指标详解

命令:free -h 或 cat /proc/meminfo

  • 指标含义
指标名称对应字段含义详解作用与分析
TotalMemTotal物理内存总大小。硬件上限,评估资源基准。
UsedMemUsed已用内存。包含应用程序使用、内核使用(Slab/Vmalloc)等。注意:单纯看 Used 高不代表有问题,因为 Linux 倾向于把空闲内存用作缓存。
Buff/CacheBuffers/Cached缓冲/缓存。Buffers: 块设备(磁盘)读写缓冲。 Cached: 文件系统缓存(加速文件读取)。可回收资源。当应用需要内存时,这部分通常会自动释放。如果过低,会导致磁盘 I/O 变高,系统变慢。
AvailableMemAvailable可用内存。真正还可以分配给新进程的估算值(Free + 可回收的 Buff/Cache)。判断内存瓶颈的核心指标。比 Free 更具参考价值。

作用:用来判断系统整体资源是否紧张,是否会发生 OOM(内存溢出杀进程)。

1.2警报与判断
  • 警报阈值

    • 警告 (Warning):Available < 20%
    • 严重 (Critical):Available < 10%
  • 典型场景

    • Java 应用堆内存(Heap)设置过大,接近物理内存上限。
    • 数据库(Redis/MySQL)缓存配置不当。
    • 内存泄漏(Memory Leak):应用程序申请内存后不释放,Available 持续下降。
  • 后果

    • 系统尝试回收 Cache,导致磁盘 I/O 飙升,系统卡顿。
    • 触发OOMKiller (Out of Memory),Linux 强制杀掉占用内存最高的进程(通常是业务进程)。

二.交换分区

Swap 是磁盘上的空间,当物理内存不足时,操作系统会将内存中不活跃的数据暂时“交换”到磁盘上。

2.1核心指标详解

命令:free -h, vmstat

  • 指标含义
指标名称含义详解作用与分析
Swap UsedSwap 空间已使用的量。如果物理内存不足,系统开始大量使用 swap,会导致性能下降。 误区提醒:Swap Used 高不一定代表系统卡顿。如果是一些僵尸进程占用了 Swap 且不再活跃,其实是好事(腾出了物理内存给活跃进程)。
Swap In/Out (si/so)换入/换出速率。si: 从磁盘读回内存。so: 从内存写入磁盘。真正的性能杀手。如果 si/so 持续大于 0,说明内存严重不足,系统正在疯狂进行磁盘读写(抖动),导致极度卡顿。

2.2 警报与判断

  • 警报阈值

    • Swap 使用率:> 20%-50%(作为预警,提示物理内存可能不足)。
    • Swap 频繁活动 (关键)siso速率持续 > 0 KB/s(持续 1分钟以上)。
  • 后果

    • 系统响应极慢,SSH 甚至无法连接。
    • 业务接口超时。

三、 虚拟内存与提交

Linux 的内存申请是“超卖”模式,理解这里才能解释“为什么物理内存还有空闲,程序却报无法分配内存”。

3.1 核心指标详解

命令cat /proc/meminfo,sar -r

指标名称含义详解作用与分析
CommitLimit内存提交上限。计算公式:Swap Total + (Physical RAM * vm.overcommit_ratio)。系统能承诺给所有进程分配的虚拟内存总量上限(在 Strict Overcommit 模式下)。
Committed_AS已提交地址空间。所有进程申请的虚拟内存总和(Process A申请 + Process B申请…)。重点:如果 Committed_AS 远大于物理内存,说明应用开启了大量内存申请(如 Java Xmx 设置很大),虽然暂时没用满,但存在 OOM 风险。
VmallocUsed内核虚拟内存。内核为了分配大块连续逻辑地址而使用的空间。排查内核问题:主要用于监控内核模块(如驱动、网络协议栈)是否有内存泄漏。真正需要警惕的是:如果 VmallocUsed 持续异常增长且不释放。

3.2 警报与判断

  • 警报阈值

    • Committed_AS>CommitLimit* 90% (如果关闭了 Overcommit)。
    • VmallocUsed出现异常的持续大幅增长。
  • 场景

    • 虚高申请:程序申请了 10G 内存但只用了 100M。物理内存看着很空,但Committed_AS很高。
    • 内核泄露VmallocUsed暴涨,通常是驱动 Bug。

四、 内存健康度指标 (Page Faults)

除了看大小,还要看内存的“分配效率”。

4.1 指标详解

来源命令vmstat -s,sar -B

指标名称含义详解作用与分析
pgfault (Minor)次缺页异常。进程申请内存时,数据在物理内存中只是没建立映射。正常现象。程序启动或申请内存时都会发生,无需惊慌。
pgmajf (Major)主缺页异常。进程需要的数据不在内存中,必须从磁盘(Swap 或文件)读取。危险信号。如果此指标飙升,说明内存严重不足,正在发生频繁的磁盘 I/O 阻塞。

五、 总结与排查速查表

现象可能原因建议排查工具解决思路
Available 低,Buffer/Cache 低应用程序真的把内存吃光了top (按 M 排序), pidstat -r检查 Java 堆配置、检查是否存在内存泄露。
Available 低,Buffer/Cache 高正常现象,系统在缓存文件free -h无需处理,除非 Swap 开始频繁活动。
Swap Used 高,si/so 为 0历史遗留数据占用了 Swapvmstat 1暂时无视,说明那些进程是不活跃的。
Swap Used 高,si/so 持续高物理内存严重不足,系统抖动vmstat, iotop紧急!扩容内存或杀掉占用高的进程。
Used 高,但找不到进程内核 Slab 或 Vmalloc 占用slabtop, /proc/meminfo检查 Slab 和 VmallocUsed,排查驱动或大量文件系统操作。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 8:34:05

LobeChat Docker镜像使用技巧:环境变量配置大全

LobeChat Docker镜像使用技巧&#xff1a;环境变量配置大全 在构建现代 AI 聊天应用的实践中&#xff0c;一个常见痛点是&#xff1a;如何快速、安全地将前端界面与后端大模型服务对接&#xff0c;同时兼顾部署灵活性和访问控制&#xff1f;开源项目 LobeChat 正是为解决这一问…

作者头像 李华
网站建设 2026/5/25 7:52:40

语音合成新突破:GPT-SoVITS实现跨语言TTS只需1分钟音频

语音合成新突破&#xff1a;GPT-SoVITS实现跨语言TTS只需1分钟音频 在内容创作日益个性化的今天&#xff0c;越来越多的自媒体人、教育工作者甚至普通用户开始思考一个问题&#xff1a;能不能让AI用我的声音说话&#xff1f; 过去&#xff0c;这听起来像是科幻电影的情节。传统…

作者头像 李华
网站建设 2026/5/15 21:08:35

Java矩阵乘法

任务描述 本关任务&#xff1a;编写一个程序&#xff0c;输入两个矩阵输出矩阵乘的结果。矩阵乘法 矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数&#xff08; column &#xff09;和第二个矩阵的行数&#xff08; row &#xff09;相同时才有意义。 矩阵乘法…

作者头像 李华
网站建设 2026/5/27 5:17:48

提高领导能力必看的三本书

很多人一提到“领导力”&#xff0c;就会想到鼓舞人心的演讲、果断的决策、带领团队逆转困境的传奇故事。但现实中&#xff0c;大多数管理者面临的领导挑战&#xff0c;远比这些更细微也更真实——如何让团队信任你、如何在压力下保持判断、如何在复杂环境中做出平衡的选择。领…

作者头像 李华
网站建设 2026/5/22 19:11:47

TensorFlow 2.5-gpu与PyTorch 1.8-gpu安装指南

深度学习双雄&#xff1a;TensorFlow 2.5-gpu 与 PyTorch 1.8-gpu 实战部署指南 在现代 AI 工程实践中&#xff0c;一个稳定、可复现的 GPU 环境往往是项目成败的关键。尽管新版本框架层出不穷&#xff0c;但在企业级系统维护和科研成果落地中&#xff0c;TensorFlow 2.5-gpu …

作者头像 李华
网站建设 2026/5/22 14:46:19

深度学习图像处理(3)----二阶段目标检测

文章目录前言1.深度学习2.two-stage 和one-stage 检测算法一.候选框的提取1. 暴力遍历2.在穷举暴力法的基础上&#xff0c;进行一些剪枝操作&#xff1a;二.选择性搜索&#xff08;SS Selective Search&#xff09;1.去掉冗余的候选区域2.自底向上合并3.合并方法4. 计算相似度的…

作者头像 李华