从 Java 堆转储中获取已使用和释放的内存
Posted
技术标签:
【中文标题】从 Java 堆转储中获取已使用和释放的内存【英文标题】:Get used and free memory from Java heap dump 【发布时间】:2015-01-19 11:59:51 【问题描述】:我有一个 Java 堆转储,我想了解已用堆的大小以及可用的空闲内存量。我正在使用 Eclipse 内存分析器。这可能吗?
【问题讨论】:
Programmatically analyze java heap dump file的可能重复 不,我正在寻找 Runtime.freeMemory() 的等价物。我根本看不出链接的答案是如何提供的。 【参考方案1】:我不认为堆转储在创建堆转储时会有系统可用内存的信息。堆转储是 Java 虚拟机堆中所有对象在某个时间点的快照。 JVM 软件为所有类实例和数组的堆中的对象分配内存。当不再需要某个对象并且没有对该对象的引用时,垃圾收集器会回收堆内存。通过检查堆,您可以找到创建对象的位置并在源中找到对这些对象的引用。
【讨论】:
以上是关于从 Java 堆转储中获取已使用和释放的内存的主要内容,如果未能解决你的问题,请参考以下文章