垃圾收集器与内存分配策略(五)之垃圾日志与常见参数
垃圾收集器与内存分配策略(五)——垃圾日志与常见参数 最前面的数字“33.125:”和“100.667:”代表了GC发生的时间,这个数字的含义是从Java虚拟机启动以来经过的秒数。 GC和Full GC说明此次垃圾垃圾收集停顿的类型。如果有“Full”说明这次GC是发生了Stop-The-World的。如果是调用System.gc()方法触发的收集,那么这里将显示“[ Full GC(System) ]” 接下来的“[DefNew”、“[Tenured”、“[Perm”表示GC发生的区域,这里显示的区域名称与使用的GC收集器是密切相关的。
(1).上面样例所使用的Serial收集器中的新生代名为“Default New Generation”,所以显示的是“[DefNew ]”。
(2).如果是ParNew收集器,新生代名称就会变为“[ParNew”,意为“Parallel New Generation”。
(3).如果采用Parallel Scavenge收集器,那它配套的新生代称为“PSYoungGen”,老年代和永久代同理,名称也是由收集器决定的。 .后面方括号内部的“3324K->152K(3712K)”含义是“GC前该内存区域已使用容量-> GC后该内存区域已使用容量 (该内存区域总容量)”。 而在方括号之外的“3324K->152K(11904K)”表示“GC前Java堆已使用容量 -> GC后Java堆已使用容量 (Java堆总容量)”。 再往后,“0.0025925 secs”表示该内存区域GC所占用的时间,单位是秒。垃圾收集参数总结
理解GC日志
创新互联专业为企业提供察哈尔右翼前网站建设、察哈尔右翼前做网站、察哈尔右翼前网站设计、察哈尔右翼前网站制作等企业网站建设、网页设计与制作、察哈尔右翼前企业网站模板建站服务,十多年察哈尔右翼前做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。每个收集器的日志格式都可以不一样,但各个每个收集器的日志都维持一定的共性。如下面二段日志:
33.125: [GC [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K->152K(11904K), 0.0031680 secs] 100.667: [Full GC [Tenured: 0K->210K(10240K), 0.0149142 secs] 4603K->210K(19456K), [Perm : 2999K->2999K(21248K)], 0.0150007 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
(1).上面样例所使用的Serial收集器中的新生代名为“Default New Generation”,所以显示的是“[DefNew ]”。
(2).如果是ParNew收集器,新生代名称就会变为“[ParNew”,意为“Parallel New Generation”。
(3).如果采用Parallel Scavenge收集器,那它配套的新生代称为“PSYoungGen”,老年代和永久代同理,名称也是由收集器决定的。 .后面方括号内部的“3324K->152K(3712K)”含义是“GC前该内存区域已使用容量-> GC后该内存区域已使用容量 (该内存区域总容量)”。 而在方括号之外的“3324K->152K(11904K)”表示“GC前Java堆已使用容量 -> GC后Java堆已使用容量 (Java堆总容量)”。 再往后,“0.0025925 secs”表示该内存区域GC所占用的时间,单位是秒。
下面这段新生代收集器ParNew的日志也会出现“[Full GC”(这一般是因为出现了分配担保失败之类的问题,所以才导致STW)。
[Full GC 283.736: [ParNew: 261599K->261599K(261952K), 0.0000288 secs]
-XX:+< option > 启用选项
-XX:-< option > 不启用选项
-XX:< option > = < number >
-XX:< option > = < string >
Client、Server模式默认GC
新生代GC方式 老年代和持久带GC方式 Client Serial串行GC Serial Old串行GC Server Parallel Scavenge 并行回收GC Parallel Old 并行GCSun/Oracle JDK GC组合方式
网站标题:垃圾收集器与内存分配策略(五)之垃圾日志与常见参数
文章来源:http://ybzwz.com/article/cphisj.html