问题 jmap中显示的“From Space”和“To Space”是什么意思?


我理解新/ gen / perm gen之间的区别,但我不知道“To Space”和“From Space”是什么。我看到我的“From Space”使用了99.8%,而“To Space”似乎总是保持0%使用。


1857
2018-02-27 21:11


起源



答案:


VM中使用的垃圾收集算法中的两个区域。

Java细节可在此处找到: Garbage Collection如何在Java中运行

关于“从太空”和“到太空”的一般解释: WP

最简单的方法是半空间收集器,可以追溯到1969年。在这个移动的GC方案中,内存被划分为一个 “来自太空” 和 “太空了”。最初,对象被分配到“空间”,直到它们变满并触发集合。在集合开始时,“到空间”变成“从空间”,反之亦然。从根集可到达的对象从“从空间”复制到“到空间”

你的“空间”为0%的原因是,除了收集期间,只使用其中一个;当集合完成并且所有obj都在“to space”中时,名称将被交换,“to space”现在称为“from space”。


10
2018-02-27 21:17