我在 Windows Server 2003 SP2 上运行了一个第三方应用程序,它收到“服务器资源不足”错误。它刚刚开始出现这种行为,但没有任何明显的原因。我运行了 ProcMon 来查看它发生在哪里。在每种情况下,它恰好都在读取另一个文件服务器上的文件。ProcMon 显示文件的名称和错误“服务器资源不足”,同时应用程序弹出自己的错误消息框,内容基本相同。
ProcMon 堆栈跟踪似乎表明错误来自 fltmgr.sys(Microsoft 文件系统筛选器管理器)。堆栈跟踪还包含对 rdbss.sys 和 ntkrnlpa.exe 的调用。系统事件日志和应用程序事件日志均未显示任何错误。
我确实找到了这个热修复——但它似乎解决了我们没有看到的蓝屏崩溃问题。有什么想法吗?
附加信息:另一台服务器(文件服务器)也是 Windows 2003 SP2。第三方应用程序是 Concordance——我通过 COM 将其自动化。我遗漏的一个关键点是,应用程序在一段时间内访问此文件和此服务器上的其他文件时运行良好,然后生成此错误。如果我关闭对话框,驱动应用程序可以继续调用 Concordance(反过来读取这些文件)一段时间,然后重复该模式。它运行一段时间后因服务器资源不足错误而崩溃。但是一旦我关闭对话框,就好像服务器不再有问题一样,直到它再次出现。在错误出现之前的期间,我已经使用 Process Explorer 监视了内存和句柄,没有发现任何明显的消耗。
答案1
我唯一想到的可能是一般问题而不是 ThirdPartyApplication(tm) 特有的问题,就是如果读取文件的计算机没有足够的客户端访问许可证。对于服务器版本,这取决于您如何配置许可证以及您拥有哪些许可证(如果我没记错的话,对于 XP,并发连接的固定限制为 10 个)。我见过在 XP 上连接在某些情况下“挂起”,以至于在重新启动 XP 之前无法打开任何新的文件共享连接,尽管我从未在服务器版本上看到过这种情况,因此,在您找到更永久的解决方案之前,重新启动 Windows 的老办法可能是一种快速解决方法。
如果这不是许可问题,那么您可能应该首先联系该第三方应用程序的创建者:他们可能知道可能存在的问题并且已经知道如何修复或解决它。
ps. 对于这样的问题,指定两台机器上安装的确切 Windows 版本+变体以及所讨论的第三方应用程序实际上是什么是有帮助的 - 然后,如果碰巧其他人遇到了精确的以前遇到过同样的问题,您可能会得到更快(更准确)的答案。
答案2
事件查看器中是否记录了错误代码 (0x0000000) 或在错误框中提供了错误代码?我以前遇到过几次这个问题,第一次是由旧版本的 Symantec Enterprise(例如 9.0)引起的,第二次是由于内存不良引起的。
我还看到一些通过网络运行的 CRM 应用程序以及 quickbooks 在以下情况发生时抛出此错误;
安全权限问题(应用程序无法访问文件)
Server 2003 阻碍并阻止来自不受信任的服务器的文件,通常发生在远程执行 exe 文件中,尽管
防病毒软件自动保护会在应用程序尝试打开文件时扫描文件,导致 I/O 锁定,
应用程序中的错误处理不当
您是否可以在应用程序之外毫无问题地复制/编辑/查看其他服务器上的文件?