我遇到了一个奇怪的问题。我有一个由 8 台 Citrix 终端服务器组成的服务器群,运行的是 Server 2003 Std x86。所有服务器上的硬件都相同,并且所有服务器都是从同一映像构建的。上周晚些时候,其中一台服务器开始出现问题,双击打开任何文件时,explorer.exe 似乎都会锁定大约 2 分钟(我多次计时,从 2:09 到 2:40 不等),之后文件最终会打开。文件可以是 .txt、.doc、.xls、.jpg 等。但是,如果我先打开所需的程序(记事本、Excel 等),然后转到文件/打开,文件就会顺利打开。
我尝试在资源管理器发生“锁定”时运行 ProcessMonitor,但找不到确凿的证据(可能存在,但由于有 18,000 多行代码,即使使用过滤器也需要一段时间才能找到它)。
我已在安全模式下启动服务器,文件可以正常打开(没有锁定)。随后,我尝试停止所有可以停止的服务(正常启动),但没有成功。
我已卸载 AV(Symantec EAP 11),但没有任何积极影响。事件日志很干净,其他服务器均未遇到此问题。
有人有想法吗?
答案1
好的,我明白了,并想在这里发布答案,以防有人通过搜索找到这篇文章。
上周,我用 Foxit Reader 替换了 Citrix 农场中的 Adobe Reader。在此之前,我使用不属于生产农场的旧 Citrix 服务器进行了一些测试。在某个时候,我注意到 Foxit 安装仅包含一个可执行文件,您可以从网络上的任何地方单击该可执行文件。在某个时候,我从服务器上单击了 Foxit 可执行文件,后来该服务器出现了此问题。
上周晚些时候,旧的 Citrix(测试)服务器出现故障,并且尚未重新启动。
Justin 使用 Wireshark 的评论表明,受影响的服务器多次尝试联系失败的测试服务器。我在注册表中搜索了该服务器名,发现 open、print 和 printto 注册表项设置为失败测试服务器上的 foxit 可执行文件,而不是 Foxit.exe 的本地副本。这些键:HKEY_CLASSES_ROOT\Applications\Foxit Reader.exe\shell\open\command HKEY_CLASSES_ROOT\Applications\Foxit Reader.exe\shell\print\command HKEY_CLASSES_ROOT\Applications\Foxit Reader.exe\shell\printto\command
将这些键更改为指向 Foxit.exe 的本地副本解决了该问题。谢谢 Justin,为我指明了正确的方向。
答案2
每次我看到资源管理器挂起都是因为无法访问的映射驱动器。
答案3
我会完全禁用 Netbios 协议(暂时),看看这是否能提高性能。通过完全删除该协议,您可以缩小问题范围。此外,禁用网络适配器(暂时)可能也能达到同样的效果。