Java GC 日志格式理解小结
来源:互联网 发布:微信社区 论坛 源码 编辑:程序博客网 时间:2024/05/17 02:42
Java GC 日志格式理解小结
下面以一个典型的GC日志做分析:
33.125: [GC[DefNew:3324K->152K(3712K), 0.0025925 secs]3324K->152K( 11904K), 0.0031680 secs]100.667: [FullGC[Tenured: 0 K->210K(10240K) , 0.0149142secs]4603K->210K( 19456K) , [Perm: 2999K->2999K( 21248K) ], 0.0150007 secs][Times: user=0.01 sys=0.00, real=0.02 secs]
- 33.125,100.667:代表了GC发生的时间,这个数字的含义是从Java虚拟机启动以来经过的秒数
- [GC 和 [FullGC : 说明了此次垃圾回收停顿类型。如果有“Full”,说明了本次GC发生了Stop-The-World(STW)。
- 如果是调用了System.gc()方法触发的收集,这里将显示”[FullGC(System)”
- [DefNew 、[Tenured、[Perm:表示GC发送的区域,与使用GC收集器密切相关
- 使用的Serial收集器中的新生代名为“Default New Generation”所以显示的是“[DefNew”
- 使用的ParNew收集器中的新生代名为“Parallel New Generation”所以显示的是“[ParNew”
- 使用的Parallel Scavenge收集器中的新生代名为“Parallel Scavenge Young Generation”所以显示的是“[PSYoungGen”
- 老年代Tenured和永久代Perm同理,具体名称依旧由使用的收集器决定
- [..3324K->152K(3712K)…]:格式含义是“GC前该内存区域已使用的容量->GC后该内存区域已使用容量(该内存区域总容量)”
- […]3324K->152K( 11904K)…:格式含义是“GC前Java堆已使用容量->GC后Java堆已使用容量(Java堆总容量)”
- 0.0031680 secs:表示该内存区域GC所占用的时间,单位秒。
- 有的收集器还会给出更具体的时间 “[Times: user=0.01 sys=0.00, real=0.02 secs]”
- 分别代表:用户态消耗的CPU时间、内核态消耗的CPU时间和操作从开始到结束所经过的墙钟时间(Wall Clock Time)。
- TIP:墙钟时间(Wall Clock Time)包括了各种非运算的等待耗时,如磁盘IO。而CPU时间不包括这些耗时
- 有的收集器还会给出更具体的时间 “[Times: user=0.01 sys=0.00, real=0.02 secs]”
0 0
- Java GC 日志格式理解小结
- 理解Java的GC日志
- 理解Java的GC日志
- 深入理解JAVA虚拟机---GC日志详解
- 基于GC日志逐步理解Java虚拟机GC过程
- GC日志格式分析
- 理解GC日志
- 理解GC日志
- 理解GC日志
- 理解GC日志
- 理解GC日志
- 理解GC日志
- 【JVM】理解GC日志
- GC日志理解
- JDK GC 日志格式图解
- GC日志的格式分析
- Java GC 概念小结
- Java GC 小结
- windows 端口号占用查询
- PAT乙级1009: 说反话(20)
- CSU 1563 Lexicography
- Java中String直接赋值和使用new的区别
- 欧拉计划23
- Java GC 日志格式理解小结
- POJ 1837 天平
- 项目上线,发布使用 jenkins总结
- CSS基础知识三(列表编号 )
- java synchronized关键字的用法
- 快速理解VirtualBox的四种网络连接方式
- SVN版本管理
- Python实现欧拉计划23题
- SQL Server 中 存储“经纬度”应设置的数据类型