我有一個java存儲分析器中打開的heapdump。內存分析器(mat)有沒有辦法查詢打開的文件句柄?我想確切地確定哪個類打開了文件並保存了對文件的活動引用。使用內存分析器在Java堆轉儲中找到打開的文件
2
A
回答
1
我沒有做到這一點(所以開放燃燒),但是,我相信yourkit file probe應該能夠跟蹤打開的連接 - 在運行的Java進程中。
正如我所說,沒有做到這一點,但我已經做了類似於jdbc泄漏和數據庫探測的東西,它對事件(例如基於各自方法調用的軌道)有效。您應該能夠看到打開和關閉的堆棧跟蹤(如果它類似於數據庫探針)。
YourKit是一款支付應用程序,但您可以試用它。
0
看看File Leak Detector,你附加到你的java進程的java代理。
相關問題
- 1. 日食內存分析器看到整個堆轉儲(8GB)
- 2. Java:非堆內存分析
- 3. 分析大型Java堆轉儲 - 內存錯誤
- 4. 運行內存,同時分析一個Java堆轉儲
- 5. Eclipse內存分析器 - 嘗試獲取堆轉儲時出錯
- 6. 解析堆轉儲文件
- 7. 如何分析IntelliJ中的堆轉儲? (內存泄漏)
- 8. eclipse內存分析器沒有打開
- 9. 無法打開文件HPROF與Eclipse內存分析器
- 10. Java進程的轉儲文件分析?
- 11. glassfish使用的內存vs堆轉儲
- 12. 堆內存分析
- 13. 如何使用WSAdmin分析堆轉儲文件(.dmp)
- 14. 如何分析利用JMAP堆轉儲在java中
- 15. 打開堆轉儲所需的內存.hprof
- 16. Java:內存分析工具(MAT)用法:比較兩個堆轉儲
- 17. 如何從java堆轉儲中找到緩存的對象
- 18. 如何分析堆轉儲
- 19. 在android中使用DOM解析器解析存儲在內部存儲器中的XML文件。
- 20. 使用PHP curl通過打開堆棧API文件存儲來存儲對象
- 21. JAVA打印堆轉儲
- 22. Java堆轉儲(hprof文件)比常駐內存小得多
- 23. 如何分析內核轉儲的內存使用情況?
- 24. 在線Java線程轉儲分析器
- 25. 出內存異常+分析HPROF文件的轉儲
- 26. 如何使用Intent.ACTION_VIEW打開保存到內部存儲的私人文件?
- 27. 堆轉儲中不可能的Java內存引用
- 28. Eclipse內存分析器:java.lang.OutOfMemoryError:Java堆空間
- 29. 在大型Java堆轉儲中查找內存泄漏的方法
- 30. 應用程序在內部存儲器中創建的打開文件
將一個跟蹤打開的文件以你想要的方式替換爲'java.io'的實現是不是更容易,然後重新運行該程序? – AJMansfield
如果我不能使用正在運行的虛擬機或heapdump來識別打開的文件,我可以看看。 –
您可以查找「FileDescriptor」的實例,但我從來沒有取得過很多成功。這通常更有幫助:http://file-leak-detector.kohsuke.org/ –