JVM 堆大小不相加
The JVM heap size does not add up
我用 VM 参数启动了一个 Java 8 JVM:
-Xms10M -Xmx10M
堆的结构是这样的:
PSYoungGen: 2048K
eden space: 1024K
from space: 1024K
to space: 1024K
ParOldGen: total: 7168K
我的问题是:
- 为什么eden+from+to不等于PSYoungGen?我认为他们都是年轻一代。
- 为什么PSYoungGen + OldGen = 9M?另一个 1M 堆在哪里?
显示的是尺寸,而不是入住率。在任何给定的时间点,一个 Survivor
spaces 是 空 ,所以 :
PSYoungGen = "eden space" (1024K) + one of the two "from/to space" (1024K)
两个Survivor
space还需要space预留,ParOldGen
就是“剩下”的,也就是10M-3M(eden和两个survivorspaces)。我想这只是关于你如何阅读它以及你如何解释它...
我用 VM 参数启动了一个 Java 8 JVM:
-Xms10M -Xmx10M
堆的结构是这样的:
PSYoungGen: 2048K
eden space: 1024K
from space: 1024K
to space: 1024K
ParOldGen: total: 7168K
我的问题是:
- 为什么eden+from+to不等于PSYoungGen?我认为他们都是年轻一代。
- 为什么PSYoungGen + OldGen = 9M?另一个 1M 堆在哪里?
显示的是尺寸,而不是入住率。在任何给定的时间点,一个 Survivor
spaces 是 空 ,所以 :
PSYoungGen = "eden space" (1024K) + one of the two "from/to space" (1024K)
两个Survivor
space还需要space预留,ParOldGen
就是“剩下”的,也就是10M-3M(eden和两个survivorspaces)。我想这只是关于你如何阅读它以及你如何解释它...