第4章 瓶颈画像:从CPU到网络


第 4 章 · 瓶颈画像:从 CPU 到网络

章节摘要:嫌疑犯只有四类——CPU、内存、存储 IO、网络。本章给每一类建立"作案手法档案":典型症状、取证命令、定罪证据,最后用 USE 方法把四类排查串成一棵决策树。读完本章,面对"系统慢"这类模糊报案,你有一套确定顺序的排查动作。

学习目标

  1. 区分 on-CPU 与 off-CPU 问题,选择对应的采样证据;
  2. 用内存指标链条(RSS/缺页/换页/OOM)判断内存案件的性质;
  3. 从 iowait 出发追到队列深度与单次 IO 大小,完成 IO 定罪;
  4. 用重传率与缓冲区证据定位网络问题;
  5. 按决策树顺序执行端到端排查,不跳步、不漏项。

核心概念速览

排查顺序本身就是效率:先排除便宜的,再查昂贵的。

子章节导航

4.1 CPU 嫌疑犯:on-CPU 与 off-CPU 取证

CPU 饱和的两种形态与对应的采样证据。

4.2 内存嫌疑犯:泄漏、分配与 OOM

RSS、缺页、换页、OOM 四级证据链条。

4.3 存储 IO 嫌疑犯:从 iowait 到队列深度

iowait 的误读、队列深度与 IO 尺寸的定罪逻辑。

4.4 网络嫌疑犯:重传、缓冲区与延迟

重传率、收发缓冲区、内核丢包点。

4.5 端到端破案:USE 方法与排查决策树

把四类排查固化成动作序列。

子章节之间的逻辑关系

4.1 CPU ── 4.2 内存 ── 4.3 存储 ── 4.4 网络 (四类嫌疑犯档案) \ | / \ | / 4.5 决策树:顺序与纪律 ​

前置知识与后续延伸

  • 前置:第 3 章的工具用法。
  • 为后续铺垫:第 5 章从"性能慢"转向"逻辑错",进入调试领域。

本章的取证路线图

四类资源各有专属证据形态:CPU 的关键区分是 on-CPU 与 off-CPU,内存的关键是斜率与差值(泄漏看单调增长、碎片看 arena 回落)、存储的关键是队列深度而非 iowait、网络的关键是分段计时与丢弃计数。USE 方法把这些单点检查统一成"每资源问利用率、饱和度、错误"的三问框架,排查决策树则把三问串成路径。速查:

# 一轮 USE 扫描, 五类资源各拿一个数 uptime && vmstat 1 3 && free -m && iostat -x 1 3 \ && nstat -az | egrep 'Drop|Retrans' && ss -s ​

各节之间的移交规则

CPU 一节证明"时间在等待"后,案件移交给对应资源节:off-CPU 栈顶在 futex 由内存节的分配分析接手(锁保护的对象常是分配器或连接池);栈顶在 io_schedule 移交存储节;栈顶在网络收发移交网络节。端到端一节的决策树就是这份移交规则的图形化。建议读者把五章的"定罪命令"抄成一张卡片:每类资源只记三条最短命令,事故时先跑卡再翻书——画像章的价值不在命令多,而在压力下你知道下一步该移交谁。

画像章的三个不要

使用本章命令时记住三个"不要":不要用单一指标定罪——每个资源都要凑齐利用率、饱和度、错误三个视角才闭合证据链;不要忽略测量位置——同一指标在客户端、服务端、内核三处读数不同,案卷里要写明测量点;不要在因果未定时改配置——画像的产出是"嫌疑排序"而非"修复方案",先定罪后动刀。这三个纪律与前一章的工具选型、后一章的验尸方法一脉相承,共同构成单机取证的完整闭环。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U