任何人都知道在Java中列出当前打开的文件描述符的方法以及打开文件描述符数量的限制吗?
到目前为止我发现的最好的是https://gist.github.com/jtai/5408684,它允许我打印Unix FD系统max以及当前打开描述符的数量。我还没有找到一种纯java方式来列出实际打开的文件的路径/名称。我还没有找到一种纯java方式来列出打开文件描述符数量的每个进程限制。
我主要对Solaris和Linux平台感兴趣,但纯java比执行某些东西要好。我知道我可以使用pfiles(在Solaris上),lsof(在Linux上)和ulimit(在两者上),但我正在寻找更好的东西。
编辑1:我主要关注当前进程/ jvm的开放描述符的数量以及对该jvm的限制。系统范围的统计数据和限制也是一个优势。