拒绝背锅!服务器卡顿CPU却空闲?一文揪出磁盘I/O这个“隐形杀手”

news/2026/1/25 20:06:45/文章来源:https://www.cnblogs.com/sprinng/p/19530397

2

大家好,我是三味

最近在技术群里(QQ群:949793437),有位朋友提出了一个非常经典的问题:

“AlmaLinux 9.7 系统,怎么看磁盘的负载?我担心磁盘影响性能,只会用 uptime 和 df 够吗?”

这简直是灵魂发问!

很多时候,我们发现服务器 Load Average(平均负载)飙高,应用响应变慢,但一看 CPU 使用率(User%)却只有 5%,内存也还剩一大把。这时候,如果你只会 top,可能就真的束手无策了。

其实,90% 的“诡异卡顿”都源于它——磁盘 I/O(输入/输出)瓶颈

今天三味就带大家抛弃那些“花架子”,用最硬核的命令,把磁盘负载看个通通透透。

1

1. 为什么 top 可能会骗你?

我们习惯性敲下 top,通常只盯着 CPU 的 us(用户空间)和 sy(内核空间)。但请往右上角看,那里藏着一个关键指标:%wa (I/O Wait)

  • %wa 是什么?
    它代表 CPU 处于“空闲”状态,但之所以空闲,是因为它发出了磁盘读写请求,正在苦苦等待磁盘把数据传回来。
  • 警报线:
    如果 %wa 长期超过 10% 甚至更高,别怀疑,你的磁盘已经成为整个系统的短板了!CPU 再快也没用,全堵在硬盘上了。

注意: 很多朋友喜欢用增强版的 htop,但默认的 htop 界面居然不显示 %wa!你需要按 F2 -> Meters -> CPU -> 切换样式,才能看到这个关键指标。这里是个大坑,要注意!

2. 神器一:iostat —— 宏观透视眼

top 只能告诉你“磁盘有问题”,但不能告诉你“哪块磁盘有问题”。这时候,必须请出 sysstat 包里的 iostat

这是三味最推荐的起手式:

iostat -dx 1
  • -d:只看磁盘,不看CPU。
  • -x:显示扩展的详细数据(这一步最关键)。
  • 1:每秒刷新一次。

看到满屏数据别慌,只盯这三个核心指标:

  1. %util (最重要的指标)
    表示磁盘设备的利用率。如果这个值持续接近 100%,说明磁盘已经满负荷运转,IO请求已经开始排队,它就是系统的瓶颈!
  2. await
    IO请求的平均等待时间(毫秒)。
    • SSD 正常应该在 1ms 以内。
    • 机械硬盘 5-10ms 算正常。
    • 如果 await 飙升到 100ms 甚至更高,你的数据库绝对在“卡顿”。
  3. r/sw/s
    每秒的读写次数(IOPS)。结合业务量来看,判断是否超出了磁盘的物理极限。

3. 神器二:iotop —— 谁是罪魁祸首?

知道了磁盘忙,但到底是哪个进程在疯狂读写?是 MySQL 在刷盘?还是日志进程在发疯?还是有人在偷偷挖矿?

iostat 看不到进程,这时候要用 iotop
(如果没安装:dnf install iotop)

推荐用法:

iotop -oP
  • -o:只显示正在产生 I/O 的进程(过滤掉不干活的)。
  • -P:只显示进程,不显示线程(让视图更清爽)。

怎么看?
直接看 DISK WRITEDISK READ 列,谁排第一,谁就是把磁盘打满的元凶!选中它,你就找到了优化的目标。

4. 神器三:dstat —— 全能指挥官

如果你想把 CPU、磁盘、网络放在一起看关联,dstat 是最炫酷的工具(AlmaLinux 9 可能需要通过 EPEL 安装)。

dstat -cdngy 1

这种上帝视角能让你发现有趣的关联:比如,是不是网络流量(Net)进来的瞬间,磁盘写(Disk)突然飙高,紧接着 CPU 等待(Wait)上升?这就是全链路分析的魅力。


兄弟们,下次服务器卡顿时,别只盯着 CPU 看了。

  1. 先看 top%wa,判断是否有 I/O 等待。
  2. 再用 iostat -dx 1 确认磁盘利用率 %util 和响应时间 await
  3. 最后用 iotop -oP 揪出那个疯狂读写磁盘的进程

这三板斧下去,99% 的磁盘性能问题都将无所遁形。

技术之路,贵在知其然,更知其所以然。


如果你觉得这篇文章让你学到了真东西:

  1. 关注我的公众号 [爱三味],我不发水文,只讲实战。
  2. 转发给身边的运维和开发朋友,帮他们省去排查问题的几个通宵。
  3. 加入我们的技术交流 QQ群:949793437,这里有真大佬,也有热心的三味,我们在群里等你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1215613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

彼得林奇对公司并购后文化整合成功因素的案例研究

彼得林奇对公司并购后文化整合成功因素的案例研究 关键词:彼得林奇、公司并购、文化整合、成功因素、案例研究 摘要:本文围绕彼得林奇对公司并购后文化整合成功因素展开深入的案例研究。首先介绍研究的背景、目的、预期读者等内容,阐述相关核心概念。接着剖析核心算法原理(…

React 组件状态(State)

React 组件状态(State) 组件可以拥有状态(state),它是组件数据的私有部分,可以用来管理动态数据。 状态仅适用于类组件,或者使用 React 的 Hook 时可以在函数组件中使用。 React 把组件看成是一个状态机&#xff08…

从零开始:Gitee 仓库创建与本地项目纳管全流程详解

目录 一、Gitee 仓库创建:打好代码托管的基础 1.1 准备工作 1.2 仓库创建步骤 二、本地生成 SSH 公钥:实现免密提交代码 2.1 SSH 公钥的作用原理 2.2 本地生成 SSH 公钥的步骤 步骤 1:检查 Git 环境 步骤 2:打开命令行工具 步骤 3:执行生成公钥的命令 2.3 将公钥…

法律服务效率提升的架构创新:AI应用架构师详解法律AI智能体微服务设计

法律服务效率提升的架构创新:AI应用架构师详解法律AI智能体微服务设计 一、引言:传统法律服务的效率困局与AI智能体的破局点 1.1 传统法律服务的三大效率痛点 在律师事务所、企业法务部或公共法律服务中心,你常能看到这样的场景: 重复劳动过载:一名律师每天要处理5-10份…

并行计算: CUDA 12.9 (支持 GPU 加速), OpenMP (多核 CPU)

这是一个非常核心且现代的高性能计算技术组合。我们来详细拆解这两项技术,以及它们如何协同工作。 核心思想:并行计算 在开始前,先理解目标:把一个大任务拆分成许多小任务,同时(并行地)处理它们…

Qt中connect()实现信号与槽连接这一核心机制

深入讲解Qt中connect()实现信号与槽连接这一核心机制。这是Qt框架最著名、最强大的特性之一,也是Qt区别于其他GUI框架的关键所在。一、核心概念:什么是信号与槽?1. 信号(Signal)定义:当对象的内部状态发生改…

HDF5与CGNS文件格式详解

我将为您全面解析这两种在科学计算和工程仿真领域至关重要的文件格式,以清晰易懂的方式解释它们的概念、关系和实际应用。 一、HDF5:科学计算的"瑞士军刀" 1. 基本概念 HDF5是Hierarchical Data Format version 5的缩写,即层次数…

资产管理系统如何让账实对齐变得简单又精准?

账实对齐是企业资产管理的核心诉求,也是多数企业面临的管理痛点——财务账上的资产数量、状态与实际实物脱节,要么出现“账上有、实物无”的流失隐患,要么因状态未同步导致折旧核算偏差,人工盘点耗时费力还易出错,不仅…

本周学习总结

1. 绝对路径与相对路径 绝对路径:从文件系统根目录开始的完整路径,具有唯一性,不受当前工作目录影响 Windows 系统以盘符开头(如C:\file.txt)Linux/macOS/Unix 系统以斜杠/开头(如/home/user/file.txt&…

JDK动态代理和CGLIB代理的机制和选择

JDK动态代理和CGLIB代理的机制和选择 一、实现原理的本质区别 JDK动态代理是基于接口实现的。它利用Java反射机制,在运行时动态生成一个实现了目标接口的代理类。这个代理类实现了跟目标对象相同的接口,当调用接口方…

洛谷 P1332 血色先锋队 题解

题目链接 洛谷 P1332 血色先锋队 思路分析 一道广搜的题目。按照题意,首先将每个感染源作为起点,对全军跑一次广搜,对每个成员记录其感染的时间。然后只需依次输出每个领主的感染时间即可。 代码呈现 #include<b…

ClickHouse 25.12 版本发布说明

本文字数&#xff1a;20006&#xff1b;估计阅读时间&#xff1a;51分钟 作者&#xff1a;ClickHouse Team 本文在公众号【ClickHouseInc】首发 又一个月过去了&#xff0c;这也意味着新版本如期而至&#xff01; 发布概要 ClickHouse 25.12 版本带来了 26 项新特性 &#x1f3…

什么才是真正影响性能的关键:一年来基准测试的经验教训

本文字数&#xff1a;4369&#xff1b;估计阅读时间&#xff1a;11 分钟作者&#xff1a;Tom Schreiber为什么基准测试总是贯穿于我的工作年末将至&#xff0c;我习惯回顾一些最令我自豪的工作成果。2025年我创作并协助发布了大量与 ClickHouse 相关的内容&#xff0c;但其中最…

大数据领域HBase的RegionServer管理技巧

大数据领域HBase的RegionServer管理技巧&#xff1a;从新手到高手的进阶指南 关键词&#xff1a;HBase、RegionServer、Region管理、MemStore刷写、WAL日志、负载均衡、集群调优 摘要&#xff1a;在大数据存储领域&#xff0c;HBase作为Apache顶级项目&#xff0c;凭借其高并发…

ClickHouse 完成由 Dragoneer 领投的 4 亿美元 D 轮融资,加速其在分析与 AI 基础设施领域的扩张

本文字数&#xff1a;6065&#xff1b;估计阅读时间&#xff1a;13 分钟作者&#xff1a;ClickHouse Team本文在公众号【ClickHouseInc】首发公司收购 Langfuse&#xff0c;正式进军 LLM 可观测性 (LLM observability) 领域&#xff0c;并推出原生 Postgres 服务&#xff0c;以…

走向全栈:前后端状态认知差异与设计边界的深度探讨

文章目录 引言&#xff1a;为何关注前后端状态认知差异全栈开发的兴起与前后端分离的现状状态管理在现代应用中的重要性前后端协作中的常见误解 登录态的归属&#xff1a;前端状态还是后端状态&#xff1f;登录态的定义与实现方式前端如何管理登录态后端对登录态的支持与要求案…

Java毕设选题推荐:基于Java的小说三体科幻社区管理系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

本周 GitHub 热门:更好用的MCP客户端和Coding创作视频,开源项目层出不穷!

文章目录 大盘快读AI 助手的崛起iOfficeAI/AionUimicrosoft/agent-lightningVectifyAI/PageIndexeigent-ai/eigent 视频创作的新视角多样化的开发工具与框架obra/superpowerstobi/try 总结与展望参考来源 大盘快读 随着人工智能和视频技术的快速发展&#xff0c;开源社区再次迎…

计算机Java毕设实战-基于springboot的三体科幻社区交流分享管理系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

Java毕设项目:基于springboot的三体科幻社区管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…