我的计算机需要很长时间才能启动 Windows 7。因此我运行进程监视器,发现了一些我无法理解的活动。
- IRP_MJ_DIRECTORY_CONTROL 到底是什么?
- 为什么它在启动时会在不同的 Windows 文件夹中运行?
- 为什么要花这么长时间?
答案1
这些操作用于监视目录以查看其是否发生变化(注意NotifyChangeDirectory
?)。它们需要很长时间,因为目录没有变化,因此它们会一直监视直到被取消。它们的目的不是快速完成,而是留下一个可以完成的操作,以便向发布操作的应用程序发送消息。
以下是对其他人的类似日志的讨论摘录:
“您应用的过滤器仅包含耗时超过 30 秒的请求。唯一耗时这么长的请求是在等待某些事情发生时被阻止的请求,例如 NotifyChangeDirectory。
NotifyChangeDirectory 需要很长时间是很正常的 - 它实际上只是表示对受监控目录进行修改之间的时间。”——登录缓慢的情况
答案2
根据微软:
IRP_MJ_DIRECTORY_CONTROL 请求由 I/O 管理器和其他操作系统组件以及其他内核模式驱动程序发送。
它是一种文件系统过滤驱动程序。
至于为什么会慢,那要看是什么原因。你可能在徒劳无功,因为这可能只是 Windows 正在构建“开始”菜单,而其他原因导致速度缓慢。