不同 Java CMS 垃圾收集日志内存大小的含义

Meaning of the different Java CMS garbage collection logs memory sizes

并发标记清除垃圾收集器的日志条目包含 Java-8:

等信息(为了便于阅读而插入的修剪和换行符)
{Heap before GC invocations=3 (full 0):
...
 concurrent mark-sweep generation total 29612480K, used 994856K ...
2021-10-25T02:40:58.947+0200: 27.293: [GC (Allocation Failure) 2021-10-25T02:40:58.947+0200: 27.293:
  [ParNew: 996800K->110720K(996800K), 1.6650446 secs]
          1991656K->1859618K(30609280K), 1.6651368 secs] ...
Heap after GC invocations=4 (full 0):
...
concurrent mark-sweep generation total 29612480K, used 1748898K ...
}

问题:mark-sweep generation ..., used 1748898K->110720K 为 ParNew 和 ->1859618K 给出的集合后的结果大小有何关系。从措辞来看,我预计两个 -> 值的总和应该是 hte used 值。 used 值是什么意思?

  • 110720K 是年轻一代存活下来的。
  • 1859618K是整个堆中占用的space
  • 1748898K是老年代使用的space(1859618K - 110720K = 1748898K)