Windows:如何确定磁盘使用率过高的原因

Windows:如何确定磁盘使用率过高的原因

我使用 perfmon 的“PhysicalDisk\% Idle Time”来确定磁盘何时被大量使用。问题是,缩小磁盘使用范围的最佳/最快捷方法是什么?

我知道以下性能计数器,但它们都存在问题:

  • Memory\Pages/sec:如果磁盘使用是由于分页引起的,则很有用,否则毫无用处。
  • Process\IO 数据字节/秒:包括非磁盘 IO(例如网络),不包括 perfmon 设置后启动的进程,并且将进程与其 perfmon id 匹配可能很耗时。

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

我想要的信息是:

  1. 哪些进程使用磁盘最多?
  2. 他们正在访问什么文件?

答案1

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

答案2

微软 sysinternals 的进程监视器将实时执行此操作,或者您可以根据需要让它运行。您还可以保存配置,整个程序都可以轻松编写脚本。

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

顶部有 5 个按钮,除了看起来像文件柜的按钮外,其他都关闭。(文件系统访问)

您可以右键单击列表中的程序名称并告诉程序排除该项目,这样您就可以忽略 DLLHost 等系统进程。

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

祝你好运。!

或者,在计划任务中使用以下批处理文件记录一段时间然后关闭。

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 更改为您想要记录的秒数,然后打开 log.pml。

相关内容