首页 > 编程语言 > 详细

java 内存日志分析

时间:2019-10-11 15:08:53      阅读:80      评论:0      收藏:0      [点我收藏+]

 

技术分享图片

GC日志开头的“[GC”和“[Full GC”说明了这次垃圾收集的停顿类型, 而不是用来区分新生代GC还是老年代GC的。 如果有“Full”, 说明这次GC是发生了Stop-The-World的, 例如下面这段新生代收集器ParNew的日志也会出现“[Full GC”( 这一般是因为出现了分配担保失败之类的问题, 所以才导致STW) 。 如果是调用System.gc( ) 方法所触发的收集, 那么在这里将显示“[Full GC( System) ”。

 

接下来的“[DefNew”、 “[Tenured”、 “[Perm”表示GC发生的区域, 这里显示的区域名称与使用的GC收集器是密切相关的, 例如上面样例所使用的Serial收集器中的新生代名为“DefaultNew Generation”, 所以显示的是“[DefNew”。 如果是ParNew收集器, 新生代名称就会变为“[ParNew”, 意为“Parallel New Generation”。 如果采用Parallel Scavenge收集器, 那它配套的新生代称为“PSYoungGen”, 老年代和永久代同理, 名称也是由收集器决定的。后面方括号内部的“3324K-> 152K( 3712K) ”含义是“GC前该内存区域已使用容量->GC后该内存区域已使用容量( 该内存区域总容量) ”。 而在方括号之外的“3324K->152K( 11904K) ”表示“GC前Java堆已使用容量-> GC后Java堆已使用容量( Java堆总容量) ”。 

 

eclipse 打印gc日志参数配置

-verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails

-XX:SurvivorRatio=8 -XX:PermSize=1M -XX:MaxPermSize=2M 

配置类的加载/卸载  

-verbose:class -XX:+TraceClassLoading -XX:+TraceClassUnloading

java 内存日志分析

原文:https://www.cnblogs.com/yanghaolie/p/11653445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!