Windows系统磁盘I/O负载较高问题的排查及解决方案

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

在使用Windows实例时,如果遇到实例运行卡顿或文件读写速度较慢等问题,可能是磁盘I/O 负载高导致,您可以参考本文内容排查并解决问题。

说明

本文档以Windows 2022为例,不同版本的操作系统界面略有差异,请您以目标操作系统的实际界面为准。

问题现象

使用Windows系统的ECS实例时,出现如下现象。

  • 出现系统运行卡顿、文件读写变慢、应用性能下降或内部服务响应慢等问题。

  • 通过ECS控制台查看实例磁盘I/O负载监控时,发现磁盘I/O负载过高(参考值:当前I/O读写≥该云盘I/O性能指标的80%,可认为I/O负载过高)。

  • 收到了磁盘I/O负载超过设定阈值的告警信息。

可能原因

引起磁盘I/O负载过高的常见原因如下:

  • 异常的进程或服务占用大量磁盘I/O,导致磁盘I/O负载过高。

  • 业务程序及业务场景对实例的磁盘I/O负载要求较高,实例的磁盘I/O性能不足以支撑业务开展所需的磁盘I/O性能要求。

解决方案

要定位磁盘I/O负载过高的问题,您可以参见下述操作步骤进行问题的排查定位。

查看进程占用的磁盘I/O负载详情

您可以使用Windows系统中默认安装的资源监视器应用查看磁盘I/O负载等资源的使用情况,该应用支持查看单个进程的磁盘I/O负载情况。

  1. Windows桌面左下角的搜索框中,输入资源监视器,并按Enter打开资源监视器程序。

  2. 资源监视器界面中单击磁盘页签,以查看各个进程的磁盘I/O负载情况。

    image

处理磁盘I/O负载高的问题

磁盘I/O负载高问题的原因及解决方案如下。

问题现象

原因

解决方案

异常用户程序或进程长时间占用大量磁盘I/O资源。

该程序为异常程序或进程,运行时占用过多磁盘I/O资源。

通过在资源监视器中定位到占用磁盘I/O资源较多的程序,在该程序上右键单击,然后单击结束程序即可。

警告

在您结束进程前,请务必确保您了解该进程的相关信息,避免因误操作导致您的业务中断。

正常用户程序或进程长时间占用大量磁盘I/O资源。

该程序为正常业务程序或进程,运行时占用过多磁盘I/O资源。

如果云盘出现磁盘I/O性能瓶颈,您可以根据实际情况选择对应的处理方案:

  • 变更云盘类型:当使用SSD云盘出现磁盘I/O瓶颈时,您可以选择更换云盘类型为ESSD,以提升云盘性能。相关操作,请参见变更云盘类型

  • 变更云盘性能级别:当使用ESSD云盘出现磁盘I/O瓶颈时,您可以升级云盘的性能级别。相关操作,请参见修改ESSD云盘性能级别

  • 修改云盘性能配置:当使用ESSD AutoPL云盘出现磁盘I/O瓶颈时,您可以修改云盘性能配置。相关操作,请参见修改ESSD AutoPL云盘性能配置

  • 升级实例规格:当升级云盘规格时,遇到实例规格限制无法升级性能更好的云盘时,您可以先升级实例规格。相关操作,请参见修改实例规格

  • 没有单个程序或进程占用大量磁盘I/O资源。

  • 单个程序或进程偶发磁盘I/O占用过高,但持续时间较短,且发生频率较低。

当前实例的服务正常运行所需磁盘I/O资源性能大于实例的磁盘I/O性能。

相关文档

关于Linux系统的I/O负载高问题的处理方案,请参见如何查看Linux系统I/O负载情况