我需要调查 Java 应用程序中潜在的内存泄漏。
具体来说:我有一个包含在地图中的对象类型。不时地重新读取这些数据,并用新的地图替换地图。然而,一些旧对象似乎并不总是被释放,即使在外部强制 gc 之后也是如此。
我开始使用带有预定义报告(泄漏嫌疑人等)的 MAT,但我需要进一步深入研究。
使用 mat 的 GUI 版本是不切实际的,因为机器是一个远程 linux 服务器(我用 X11 尝试了 MAT,但它没有响应,并且转储下载太大)
我正在寻找一种使用命令行工具进一步分析堆转储的方法。
SO和其他网站中有几个相关的问题 - 但除了我尝试过的选项(使用预定义的报告)之外,我没有找到任何东西