打开的文件句柄太多

dli*_*sin 9 java io solaris file

我正在开发一个庞大的遗留Java应用程序,有很多手写的东西,现在你可以让框架处理.

我现在面临的问题是我们的Solaris服务器上的文件句柄不足.我想知道跟踪打开文件句柄的最佳方法是什么?在哪里查看以及可能导致打开文件句柄用完的原因?

我不能在Solaris下调试应用程序,只能在我的Windows开发环境中调试.是否合理分析Windows下的打开文件句柄?

Ben*_*enj 8

我发现用于跟踪未关闭的文件句柄的一件好事是FindBugs:

http://findbugs.sourceforge.net/

它会检查很多东西,但其中最有用的是资源打开/关闭操作.它是一个静态分析程序,可以在您的源代码上运行,也可以作为eclipse插件使用.


Ben*_*enj 7

在Windows上,您可以使用process explorer查看打开的文件句柄:

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

在Solaris上,您可以使用"lsof"来监视打开的文件句柄