我试图弄清楚为什么一个简单的 .XLS EXCEL 工作簿需要随机 30 秒才能打开。
回答之前:
请记住以下几点:
主要症状
使用Windows资源管理器,这是一个更准确的序列:
- 我双击空工作簿.xls;
- 看上去什么也没有发生;
- 文件夹导航双击后立即无响应;
- 经过 30 秒到 1 分钟的延迟后,窗口开始响应并开始常规文档加载,1 秒后显示 EXCEL 启动画面等。
- 如果在悬挂期间我停止打印机后台处理程序服务,文档立即加载。
其他症状
- 问题始终不会发生打印机后台处理程序已停止。
- 禁用网线即可解决问题;
- 悬挂期间这里没有 CPU 或磁盘活动;
- 仅在文档加载期间发生。此后一切运行顺利;
- Windows Explorer.exe 挂在文件夹上,但所有其他文件夹、系统和应用程序仍然响应;
- 没有连续挂起。我必须等待一段时间才能重现此行为;
- 所有样本文档都位于本地驱动器(C:\BPI)上;
- 该文档有宏并且有任何插件的使用;
- 例如,其他文件扩展名(如 .PDF)上不会出现此问题;
- Office 2003已经使用了好几年;
- 计算机运行的是Windows XP;
- 计算机有几个网络映射驱动器,全部寻址到主文件服务器;
- 最近,主文件服务器已被 Windows 2011 SBS 标准版取代
我目前所做的
- 我已经追踪机器浏览器, 使用进程监控, 添加期间列,并按以下条件进行筛选持续时间 > 1欲了解更多信息,请参阅Oliver Salzburg 教程。
- 使用进程监视器,我还发现有五个操作占用了大部分样本收集时间。查看下面的示例图像,列手术下面你会注意到一个单一操作需要29秒;
- 我尝试了不同的文档(.xls 和 .doc),它们都小于 30 KB;
- 我暂时删除了用户文档文件夹上指向网络驱动器或共享的所有快捷方式;
- 我已经跑了CCleaner修复注册表问题;
- 我确保测试的工作簿或Word文档中没有外部链接;
- 我已经检查 %PATH% 是否引用了任何映射的网络驱动程序;
- 我已经重复这种行为几个小时了;
- 我在网上进行了几个小时的广泛研究;
答案1
正如 Pynner 所建议的,我敢打赌这与访问网络共享文件夹的超时有关,由于某些原因,这些文件夹不可用。
尝试禁用所有网络接口,然后尝试再次重现该问题。如果我没记错的话,这次不会有延迟,因为所有与网络相关的操作都会立即失败。
答案2
别忘了共享打印机也很容易导致同样的问题。每当共享网络打印机关闭时,我的 MS Word 2003 就会发生这种情况。
答案3
这听起来很像是在扫描丢失的网络资源,比如恰好位于搜索路径中的间歇性网络共享,或者安全访问授权查找等(有很多可能性)。
以下是 Process Explorer 和 Process Monitor 的创建者 (Mark Russinovich) 的一篇博客文章,解释了他如何诊断非常相似的问题:http://blogs.technet.com/b/markrussinovich/archive/2005/08/28/the-case-of-the-intermittent-and-annoying-explorer-hangs.aspx。
我必须指出,我曾多次遭遇臭名昭著的“30 秒 Explorer 挂起”问题,而且几乎每次都是因为某个模糊的 UNC 引用指向某个不再存在或当时无法访问的服务器。我建议您尝试在注册表中搜索“\”,并确保找到的所有匹配项都指向实际存在的服务器。
答案4
是的!!!最后,经过近一周的痛苦研究,我找到了罪魁祸首:本地安装的网络打印机驱动程序。
今天,我找到了一种可以重现该问题的一致方法。我注意到,只要我停止打印机后台处理程序服务,该问题就会停止。经过反复尝试,我突然想到了一个主意:
“如果仅当其他人创建打印作业时才出现问题怎么办?”
“可能会发送打印机测试页,然后立即双击我的 EmptySample.xls 可能会导致挂起行为?”
我很幸运,第一次尝试时,Windows 资源管理器就立即冻结了!我满怀喜悦,又重复了几次这种体验,没错!差不多一个星期后,我能够始终如一地重现冻结/挂起/缺乏响应或我们称之为的现象!
我还注意到,有些已安装的打印机使用的是直接端口,而有些使用的是服务器共享打印机。在服务器共享打印机上重现这种体验是可以的。因此,据我所知,此问题仅影响本地安装的网络打印机驱动程序。
这就解释了为什么:
- 这是间歇性的。因为只有当有人将文档发送到打印机时才会发生这种情况;
- 这种情况只发生在正常工作时间。下午 6 点后,几乎所有人都离开了大楼。因此,没有人可以触发打印作业;
- 网线断开时不会发生这种情况;
- 每当我停止打印机后台处理程序服务时,Windows 资源管理器就会立即恢复常规文档加载。
尽管从现在起,我会将此视为已结案,但只要有新发现,我就会更新此答案,特别是向你们展示一些 Process Monitor 收集的数据,在过去几年中,这些数据指向打印机后台处理程序服务 - 我只是还没有准备好理解所提供的线索。我会努力的。
对于那些关注该问题的评论或修改的人,请原谅我做了这么多更新,但我真的认为让您了解最新情况很重要。
非常感谢大家!!!