应用程序服务器遇到文件系统问题

应用程序服务器遇到文件系统问题

我们在客户的测试服务器上安装了 Java 应用服务器。在应用服务器中,许多线程以多种方式访问​​文件系统。应用服务器作为服务启动。经过几个小时,有时长达一天,文件系统似乎对这些线程不可用。查看文件系统上有问题的文件夹/目录时,它们仍然存在,似乎具有正确的访问权限,并且似乎没有对它们进行独占锁定。这可能吗?有什么建议我应该寻找的线索吗?最可能的原因是什么?

所涉及的操作系统是 Windows 2003 (Service Pack 2),带有 32 位处理器。文件系统是 NTFS,JRE 是 1.6

答案1

我建议使用进程探索器搜索具有问题文件句柄的进程并从那里恢复。

不过,我大胆猜测一下,你的应用程序在某个地方存在漏洞。

答案2

您可能遇到了每个进程的文件限制,这可能是因为进程没有正确处理使用过的对象。正如@jay 指出的那样,ProcessExplorer 可以帮助揭露这一点,而 Process Monitor(另一个优秀的 SysInternals 工具)可以跟踪对象创建和对象处理过程。如果这是您的问题,Process Explorer 应该会显示更多打开的句柄。

Windows 上的句柄限制非常宽松,因此可能是某个地方存在错误,导致无法正确处理对象。

相关内容