Wil*_*265 4 usb cpu services windows-server-2003
在我的服务器上,我试图安装一个新的 USB 驱动器,但所有发生的事情是系统开始使用大量的处理器周期和 services.exe。使用进程资源管理器仔细检查时,有一个名为 umpnpmgr.dll 的线程使用了大部分 services.exe 处理器时间。
我离开了半个小时,仍然没有任何反应。
重新启动并再次尝试,结果相同。
尝试了不同的 USB 驱动器,然后是闪存驱动器,但仍然存在相同的问题。
尝试更新驱动程序,但它说更新功能已经在运行。
我现在使用进程资源管理器来终止线程,因此服务器仍然可以执行其预期功能。
在此之前安装的任何设备仍然可以使用,但系统中的任何新设备将无法使用。
我的问题是:
有没有办法手动将设备安装到注册表中,以便 Windows 认为它是以前安装的设备?
或者可以通过重新安装以外的任何方式修复此问题?重新安装意味着备份大量数据,这些数据很难用 USB 驱动器进行,并且所有其他网络机器上的空间不足。
任何帮助将不胜感激。
威廉
更新:Windows 7 Service Pack 1 包括一个修补程序:
KB981214:使用连接到 USB 2.0 EHCI 主机控制器的 USB 音频设备时 CPU 使用率很高
在这种情况下,您会注意到计算机上大约每 15 秒就有一次高 CPU 使用率。此外,当整体 CPU 使用率达到 100% 时,您可能会遇到从音频设备中跳过音频播放的情况。
查看 SP1 是否解决了问题。
使用Process Explorer查看正在运行的线程,并查看其堆栈跟踪。至少您可以看到在 services.exe 中托管的服务。

我假设机器在这段时间内受 CPU 限制,而不是 IO 限制。如果它是 I/O 绑定的,您可以使用Process Monitor查看它在做什么- 它可能会导致一些见解。
我在您的 Process Explorer 屏幕截图中看到该进程占用了 50% 的 CPU。我假设它是一台双核机器,并占用一个完整的内核。所以 CPU 卡在做某事。
查看堆栈跟踪:

我重点关注的事情(我不是专家,他们只是激起了我的兴趣)是:
从术语“目录文件”来看,对我来说听起来像是遍历所有已安装的 INF。我不知道这些函数的作用,但我可以检查:
验证单个目录文件。
SetupFindNextMatchLine 函数返回 INF 文件中下一行相对于与指定键匹配的 ContextIn.Line 的位置。
SetupDiEnumDeviceInterfaces 函数枚举设备信息集中包含的设备接口。
因此,它听起来就像是正在经历所有的INF文件,戳通过每个人,然后做的东西基于其发现。
下一个问题是,它是卡在一个INF 文件上,还是只有很多个INF 文件,或者它会重复自己,还是无法访问一个文件,或者……谁知道呢。
接下来我要做的是加载Process Monitor,并将其设置为仅通过services.exe显示文件活动。然后你可以看到它放大了所有的 inf 文件。希望可以再看到一个它变得卡住了(希望它是简单地停留在一个越来越)。那么也许您可以重命名/隐藏那个有问题的 INF 文件。
过程监视器入门。
在工具栏上,关闭除File System Activity之外的选项:

然后添加一个过滤器:
Process Name
is
services.exe
Include
Run Code Online (Sandbox Code Playgroud)
然后点击添加:

| 归档时间: |
|
| 查看次数: |
3394 次 |
| 最近记录: |