在过去的几天里,我一直遇到持续的问题......某物这会导致 dllhost.exe 进程生成并消耗大量 CPU 时间。Procexp 说:
虽然很有趣,但这对于追溯过程并找到调用它的原因真的毫无帮助。其他选项卡同样毫无帮助,至少对我来说是这样。
发生了什么事?我怎样才能找到问题的根源?
答案1
也许更有帮助的是,检查命令行给我:(为方便您阅读而插入换行符)
C:\WINDOWS\SysWOW64\DllHost.exe \
/Processid:{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}
谷歌搜索 AB8902B4-09CA-4BB6-B78D-A8F59079A8D5 显示此 ProcessID 与缩略图缓存相关联。互联网上的解决方案似乎是完全放弃缩略图。当然有人可以做得更好吗?
通过使用 Procexp 的句柄列表功能,我看到了该进程(选择进程,选择视图 → 下方窗格,查找“文件”类型条目),我特别看到该进程有一个对此文件的打开句柄:
C:\Users\b\Desktop\sigh.wmv
...所以我猜想这个问题与视频缩略图有关。现在,Tom Wijsman 已经讨论过如何处理行为不当的缩略图提供商,但是这里 ShellExView 没有显示非 Microsoft 缩略图服务!
我目前的估计是,这一定是个问题sigh.wmv
,因为我是通过 VLC 将另一个视频文件转换为 Windows Media Video 来生成此文件的;此文件在 Windows Movie Maker 中打开得很好,但相关项目的导出在视频的某个时刻挂起了。
答案2
Windows 8 上有一个修复程序,网址为Windows RT、Windows 8 或 Windows Server 2012 中的 Dllhost.exe 进程的 CPU 使用率高(KB-2853957)。
这是由于 Windows 尝试为损坏的 ASF 文件生成缩略图造成的。
如果此修补程序不起作用(或对使用 Windows 7 的任何用户不起作用),您可以像这样修复它:
确定 dllhost.exe 正在尝试索引哪个 .asf 文件:
a. 下载并解压进程探索器来自微软。
b. 启动进程资源管理器(procexp.exe)
c. 在“视图”菜单中,选中“显示下方窗格”
d.在正在运行的进程列表中找到dllhost.exe并单击它。
e. .asf 文件应在下方窗格中列为“文件”。这就是 dllhost 尝试生成缩略图但失败的损坏的 asf 文件。记住文件的名称以用于步骤 4。
转到 Windows 文件夹选项,然后在“查看”选项卡上选中“始终显示图标,从不显示缩略图”
重启电脑。重启电脑后,dllhost 应该不会再出现问题了。
找到损坏的 .asf 文件并将其删除(或将其重命名为 .asf 以外的其他名称)。
您现在可以在文件夹选项中重新打开缩略图。