有没有办法看到幸存者空间中有哪些物体。我有一种情况,来自太空的幸存者100%使用但幸存者(to)空间使用0%。我使用了一些分析工具,但它们不提供内存区域的利用率。非常感谢任何帮助。
答案 0 :(得分:1)
jvisualvm应该是你的朋友,如果你的JDK中没有这个,那么像这个插件这样的东西可以提供帮助:https://blogs.oracle.com/klc/entry/visualgc_plugin_for_visualvm
还可以尝试:http://www.oracle.com/technetwork/java/visualgc-136680.html
答案 1 :(得分:0)
幸存者空间之一永远是空的。这是HotSpot JVM中使用的GC算法的基本属性。
HotSpot正在为年轻空间(EDEN和幸存者)使用复制收集器。在奇数集合上,EDEN + S0被复制到S1,在偶数集合上,EDEN + S1被复制到S0。结果,EDEN和幸存者之一变得空虚。 EDEN稍后会被新的物品填满,但幸存者将在下一个年轻的藏品之前保持空白。
有关详细信息,另请参阅Understanding GC pauses in JVM, HotSpot's minor GC。