Windows:如何确定繁重磁盘使用的原因

我正在使用perfmon的“PhysicalDisk \%空闲时间”来确定什么时候磁盘被大量使用。 问题是,什么是最好的/最快的方式来缩小使用磁盘的内容?

我知道以下perfmon计数器,但他们每个人都有问题:

  • 内存\页/秒:如果磁盘使用是由于分页有用,否则无用。
  • Process \ IO Data Bytes / sec:也包括非磁盘IO(例如networking),不包括perfmon安装后启动的进程,将进程与其perfmon id进行匹配可能非常耗时。

资源监视器的“磁盘”选项卡提供了非常有用的信息,但不幸的是它不提供历史logging。 它不能告诉我为什么,例如,“百分比空闲时间”在上午10点20秒为0。

我后面的信息是:

  1. 哪个进程最使用磁盘?
  2. 他们访问了哪些文件?

安装PAL ,运行一天,让它分析捕获的数据。

微软的sysinternals进程监视器将实时做到这一点,或者你可以保持运行,只要有必要。 你也可以保存你的configuration,整个程序很容易编写脚本。

http://technet.microsoft.com/en-us/sysinternals/bb896645

顶部有5个button,除了看起来像文件柜的那个以外,全部关掉。 (文件系统访问)

您可以右键单击列表中的程序名称,并通知程序排除该项目,以便您可以忽略DLLHost等系统进程。

任何访问该驱动器的程序都将立即显示在该列表中。

祝你好运。!

或者,在计划任务中使用以下batch filelogging一段时间,然后closures。

set Delaytime=3 start Procmon.exe /quiet /accepteula /minimized /backingfile log.pml ping 127.0.0.1 -n %Delaytime% -w 1000 > NUL start Procmon.exe /quiet /accepteula /minimized /terminate 

只要将Delaytime更改为想要logging的秒数,然后再打开log.pml即可。