3

检查启用了 CMS (Concurrent-Mark-Sweep) GC 的 Java 运行时,下面日志中的空间定义是什么?CMS 我应该假设它是终身空间吗?我看到以下几行次要-主要-次要 GC 事件

23.481: [GC 23.481: [DefNew: 1051K->128K(1152K), 0.0029912 secs] 11925K->11027K(13600K), 0.0031697 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
23.492: [Full GC 23.492: [CMS: 10899K->9379K(12448K), 0.2675281 secs] 11182K->9379K(13600K), [CMS Perm : 16383K->16359K(16384K)], 0.2686291 secs] [Times: user=0.25 sys=0.00, real=0.27 secs]
23.956: [GC 23.956: [DefNew: 4224K->49K(4736K), 0.0027654 secs] 13603K->9428K(20372K), 0.0029230 secs] [Times: user=0.00 sys=0.01, real=0.02 secs]

特别是[CMS: 10899K->9379K(12448K), 0.2675281 secs]23.492活动中。这是否显示刚刚标记为 CMS的永久空间?CMS 是否仅在任期内执行?

4

1 回答 1

2

(免责声明:不是 JVM 内存专家;)

如果我相信Understanding CMS GC Logs,这种日志显示CMS生成空间占用率下降,大约是tenured generation space。

它可能与Occupancy Fraction相关联,后者在控制老年代发生的事情中起着至关重要的作用。

设置此值的下限允许 CMS 频繁运行并始终检查老年代。

于 2009-12-09T07:51:03.633 回答