服务器明明 CPU 不高,但程序却很慢?

  很多情况下,真正的“元凶”是 磁盘 IO 性能不足.

  这篇文章教你用一个简单命令,快速判断服务器磁盘是否已经成为性能瓶颈。

  一、什么是磁盘 IO 瓶颈?

  当出现以下情况,很可能就是磁盘 IO 问题:

  • 数据库查询变慢
  • 应用启动时间明显变长
  • CPU 空闲但系统依然卡顿
  • 日志、备份操作拖慢整体性能

      本质原因:磁盘读写速度跟不上程序需求。

      二、检测前准备

    • 适用系统:CentOS / Ubuntu / Rocky / Debian
    • 需要工具:系统自带 iostat(无需额外安装)

        如果命令不存在,可先执行:

        sudo apt install sysstat -y

        三、快速检测磁盘 IO 状态

        执行下面命令即可:

        iostat -x 1 3

        含义说明:

      • -x:显示详细 IO 信息
      • 1:每 1 秒刷新一次
      • 3:总共输出 3 次

          四、重点看这 3 个指标(新手必看)

          指标

          含义

          判断标准

          %util

          磁盘忙碌程度

          长期 > 80% = 有瓶颈

          await

          IO 等待时间

          > 20ms 偏慢

          svctm

          实际服务时间

          明显高于正常值

          简单判断口诀:

          %util 高 + await 高 = 磁盘 IO 已吃满

          五、发现 IO 瓶颈后怎么办?

          不懂调优也没关系,先做这 3 件事:

          1 确认是否使用机械硬盘(HDD)

          2 将热点数据迁移到 SSD

          3 避免多个程序同时大量读写磁盘

          六、适合哪些人使用?

        • Linux 运维 / 初级工程师
        • 数据库初学者
        • 云服务器用户
        • 想快速排查服务器卡顿原因的人

            七、总结

            不需要复杂工具,也不用写脚本:

            一个命令,就能快速定位磁盘 IO 是否是性能瓶颈。

            非常适合:

          • 故障初排
          • 日常巡检
          • 技术文章科普分享