3

我有一个在内存分析器中打开的 java heapdump。内存分析器(mat)中有什么方法可以查询打开的文件句柄吗?我想确切地确定哪个类打开了文件并持有对该文件的活动引用。

4

2 回答 2

1

我还没有这样做(如此开放),但我相信yourkit 文件探测器应该能够跟踪打开的连接 - 在正在运行的 Java 进程中。

正如我所说,没有这样做,但我已经对 jdbc 泄漏和数据库探测做了类似的事情,它适用于事件(例如,基于相应方法调用的轨道)。您应该能够看到发生打开和关闭的堆栈跟踪(如果它类似于数据库探测)。

YourKit 是一款付费应用,但您可以试用它。

于 2014-12-19T22:52:59.233 回答
0

查看File Leak Detector,这是一个附加到 java 进程的 java 代理。

于 2014-12-19T22:56:41.003 回答