查找导致 Windows 上磁盘使用率较高的进程
在 Windows 中,某些正在运行的进程可能会产生大量磁盘 I/O,可能会影响其他应用程序的性能。本文探讨了基本的 Windows 工具,可帮助您识别对磁盘子系统负载过重的进程。
查看当前磁盘负载的最简单方法是通过任务管理器。按Ctrl +Shift + Esc,转到表现选项卡,然后选择物理磁盘之一。该屏幕截图显示了其中一个磁盘加载率为 100% 的情况示例。

上流程选项卡,您可以找出哪个进程导致磁盘使用率过高。 Windows 10 和 11 中的新任务管理器包括一个“进程”选项卡,除了 RAM 和 CPU 使用情况的标准列之外,还包含一个新的磁盘负载列。按以下顺序对流程进行排序磁盘柱子。在顶部,您将看到消耗最多磁盘资源的程序的名称。


要获取更详细的信息,请右键单击该进程并选择前往详情。
为了方便起见,我们向任务管理器添加其他列。右键单击进程表的标题,选择“选择列”,然后添加以下内容:
- I/O 读取字节
- I/O 写入字节
- 命令行
这将帮助您了解磁盘使用情况(进程是否主要执行读取或写入操作)并查看用于启动程序的命令行。在这种情况下,很明显,正在运行的 PowerShell 脚本会导致磁盘上出现高负载(*.PS1)。


我们确定了导致磁盘使用率较高的进程,但仍不清楚哪些文件正在被主动写入或读取。内置的资源监控器可以帮助识别正在使用的文件。您可以从“性能”选项卡或使用resmon.exe命令。


前往磁盘选项卡。按 I/O 活动对进程进行排序,并通过启用旁边的复选框来选择导致高磁盘负载的进程。
另请阅读:如何修复 Windows 10 系统 (ntoskrnl.exe) 进程的高 RAM 和 CPU 使用率
此进程使用的文件的过滤列表现在将显示在磁盘活动部分。查找具有最多写入和/或读取操作的文件。这是您正在寻找的文件。


在此示例中,我使用磁盘速度在 Windows 中检查磁盘性能的工具。
微软的流程浏览器该工具还可用于识别哪些进程和线程对磁盘造成高负载。 Process Explorer 提供有关磁盘负载的详细信息。这使您可以识别负责密集磁盘活动的特定进程和线程,并检查它们使用的文件和资源。这使您可以识别负责密集磁盘活动的特定进程和线程,以及它们正在使用的文件和资源。
默认情况下,Process Explorer 不显示有关读写操作的信息。要添加I/O 读取字节和I/O 写入字节专栏,转到进程IO选项卡并选择看法->选择列。


按 I/O 对进程进行排序,以查找导致高磁盘负载的进程。在线程数选项卡中,您还可以找到导致密集 I/O 的特定进程线程。


如果进程运行在以下环境下,则使用任务管理器或资源监视器可能很难识别对磁盘造成重负载的进程:系统特权。此类进程可能在任务管理器中不可见。
下面的屏幕截图显示了使用 VMDK 文件的 SYSTEM 进程的示例。上下文清楚表明这是一个VMware Workstation虚拟机文件,但从进程名称来看这一点并不明显。


在这个例子中,它是一个PID 4 的系统进程。这是一个标准的内核模式系统进程(设备驱动程序也在这个进程中运行)。这过程监控器(ProcMon) 实用程序更适合探索系统进程的磁盘使用情况,因为它显示磁盘 I/O 活动,包括内核级进程的活动。
Procmon 可以显示有关文件使用活动的信息。选择工具->文件摘要。选择常用的文件并双击它。这会将文件路径添加到 Procmon 过滤器中。就我而言,我发现高磁盘负载是由以下原因引起的vmware-vmx.exe进程(VMware Workstation 主进程负责运行虚拟机)。


有关进程的磁盘活动的信息也可以从性能计数器获取。以下 PowerShell 命令根据性能计数器的报告,实时列出磁盘活动排名前 10 的进程:
Get-Counter 'Process(*)IO Data Bytes/sec' | Select-Object -ExpandProperty CounterSamples | Sort-Object -Property CookedValue -Descending | Select-Object InstanceName, CookedValue -First 10


将显示磁盘 I/O 活动最多的前 10 个进程。使用处理Sysinternals 的 CLI 工具可查看特定进程正在使用哪些文件:
handle.exe -p <ProcessNameOrPID>
此命令显示指定进程(由其 PID 标识)的所有打开的文件描述符。


下面是在 Windows 上使用 Handle 工具释放锁定文件的示例。
我们回顾了主要的管理工具,这些工具可帮助确定哪些进程会产生高磁盘负载。
