【发布时间】:2013-09-13 01:09:32
【问题描述】:
有什么方法可以查看幸存者空间中的对象。我有一种情况,来自空间的幸存者被 100% 使用,但幸存者(到)空间被使用 0%。我使用了一些分析工具,但它们不提供内存区域的利用率。非常感谢任何帮助。
【问题讨论】:
标签: java memory-management garbage-collection
有什么方法可以查看幸存者空间中的对象。我有一种情况,来自空间的幸存者被 100% 使用,但幸存者(到)空间被使用 0%。我使用了一些分析工具,但它们不提供内存区域的利用率。非常感谢任何帮助。
【问题讨论】:
标签: java memory-management garbage-collection
jvisualvm 应该是你的朋友,如果它在你的 JDK 中没有本机,那么类似这个插件的东西可以提供帮助:https://blogs.oracle.com/klc/entry/visualgc_plugin_for_visualvm
也可以试试:http://www.oracle.com/technetwork/java/visualgc-136680.html
【讨论】:
幸存者空间之一将始终为空。这是 HotSpot JVM 中使用的 GC 算法的基本属性。
HotSpot 正在为年轻空间(EDEN 和幸存者)使用副本收集器。在奇数集合中,EDEN + S0 被复制到 S1,在偶数集合中,EDEN + S1 被复制到 S0。结果,伊甸园和幸存者之一变得空荡荡的。 EDEN 稍后会被新对象填充,但survivor 将保持为空,直到下一个年轻集合。
有关更多详细信息,另请参阅Understanding GC pauses in JVM, HotSpot's minor GC。
【讨论】: