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