4

有什么方法可以查看幸存者空间中的对象。我有一种情况,来自空间的幸存者被 100% 使用,但幸存者(到)空间被使用 0%。我使用了一些分析工具,但它们不提供内存区域的利用率。任何帮助是极大的赞赏。

4

2 回答 2

1

jvisualvm应该是你的朋友,如果它在你的 JDK 中没有本机,那么类似这个插件的东西可以提供帮助:https ://blogs.oracle.com/klc/entry/visualgc_plugin_for_visualvm

也可以试试:http ://www.oracle.com/technetwork/java/visualgc-136680.html

在此处输入图像描述

于 2013-09-13T01:31:56.137 回答
0

幸存者空间之一将始终为空。这是 HotSpot JVM 中使用的 GC 算法的基本属性。

HotSpot 正在为年轻空间(EDEN 和幸存者)使用副本收集器。在奇数集合中,EDEN + S0 被复制到 S1,在偶数集合中,EDEN + S1 被复制到 S0。结果,伊甸园和幸存者之一变得空荡荡的。EDEN 稍后会被新对象填充,但survivor 将保持为空,直到下一个年轻集合。

另请参阅了解 JVM 中的 GC 暂停,HotSpot 的次要 GC了解更多详细信息。

于 2013-09-14T03:11:20.410 回答