Java的CMS GC日志行的定义是什么?

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]

特别是在第23.492事件中的[CMS: 10899K->9379K(12448K), 0.2675281 secs]。这是否显示了标记为CMS的tenured空间?CMS仅在tenured上执行吗?

1个回答

3

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

如果我理解Understanding CMS GC Logs(理解CMS GC日志),这种类型的日志显示出CMS 代空间占用 的下降,这个空间大约是老年代空间。

它可能与Occupancy Fraction(占用分数)有关,后者在控制老年代发生的事情方面起着至关重要的作用。

将此值设置一个下限,可以让CMS经常运行并始终控制老年代。


仅供参考,这里有一些有趣的GC设置:http://forums.sun.com/thread.jspa?threadID=5413878 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接