-XX:+PrintGCTimeStamps输出格式:

289.556: [GC [PSYoungGen: 314113K->15937K(300928K)] 405513K->107901K(407680K), 0.0178568 secs] [Times: user=0.06 sys=0.00, real=0.01 secs]

293.271: [GC [PSYoungGen: 300865K->6577K(310720K)] 392829K->108873K(417472K), 0.0176464 secs] [Times: user=0.06 sys=0.00, real=0.01 secs]

详解:

293.271是从jvm启动直到垃圾收集发生所经历的时间,GC表示这是一次Minor GC(新生代垃圾收集);[PSYoungGen: 300865K->6577K(310720K)] 提供了新生代空间的信息,PSYoungGen,表示新生代使用的是多线程垃圾收集器Parallel Scavenge。300865K表示垃圾收集之前新生代占用空间,6577K表示垃圾收集之后新生代的空间。新生代又细分为一个Eden区和两个Survivor区,Minor GC之后Eden区为空,6577K就是Survivor占用的空间。

括号里的310720K表示整个年轻代的大小。

392829K->108873K(417472K),表示垃圾收集之前(392829K)与之后(108873K)Java堆的大小(总堆417472K,堆大小包括新生代和年老代)

由新生代和Java堆占用大小可以算出年老代占用空间,如,Java堆大小417472K,新生代大小310720K那么年老代占用空间是417472K-310720K=106752k;垃圾收集之前老年代占用的空间为392829K-300865K=91964k 垃圾收集之后老年代占用空间108873K-6577K=102296k.

0.0176464 secs表示垃圾收集过程所消耗的时间。

[Times: user=0.06 sys=0.00, real=0.01 secs] 提供cpu使用及时间消耗,user是用户模式垃圾收集消耗的cpu时间,实例中垃圾收集器消耗了0.06秒用户态cpu时间,sys是消耗系统态cpu时间,real是指垃圾收集器消耗的实际时间。

-XX:+PrintGCDetails输出格式:

293.289: [Full GC [PSYoungGen: 6577K->0K(310720K)]

[PSOldGen: 102295K->102198K(134208K)] 108873K->102198K(444928K)

[PSPermGen: 59082K->58479K(104192K)], 0.3332354 secs]

[Times: user=0.33 sys=0.00, real=0.33 secs]

说明:

Full GC表示执行全局垃圾回收

[PSYoungGen: 6577K->0K(310720K)] 提供新生代空间信息,解释同上

[PSOldGen: 102295K->102198K(134208K)]提供了年老代空间信息;

108873K->102198K(444928K)整个堆空间信息;

[PSPermGen: 59082K->58479K(104192K)]提供了持久代空间信息。

************************************jdk  1.8  ***************************************

928.242: [GC (Allocation Failure) [PSYoungGen: 1253249K->30225K(1289728K)]1779754K->556738K(2020864K), 0.0356346 secs] [Times: user=0.11 sys=0.00, real=0.03 secs] 
931.770: [GC (Allocation Failure) [PSYoungGen: 1260049K->58346K(1269760K)]1786562K->605128K(2000896K), 0.0383538 secs] [Times: user=0.23 sys=0.01, real=0.04 secs]
935.178: [GC (Allocation Failure) [PSYoungGen: 1269738K->74746K(1286144K)]1816520K->628896K(2017280K), 0.0545040 secs] [Times: user=0.23 sys=0.00, real=0.06 secs]
938.592: [GC (Allocation Failure) [PSYoungGen: 1286138K->74730K(1234944K)]1840288K->634580K(1966080K), 0.0466145 secs] [Times: user=0.23 sys=0.00, real=0.05 secs] 
(Allocation Failure)  是 触发原因,内存分配失败  Yong 区!
[Full GC (System.gc()) [PSYoungGen: 64606K->0K(1250304K)] [ParOldGen: 560282K->70636K(731136K)]
624888K->70636K(1981440K), [Metaspace: 80870K->80870K(1122304K)], 0.3997928 secs]
[Times: user=1.22 sys=0.02, real=0.40 secs] 

这是fullGC 触发原因系统调用  jvm 退出

704.975: [Full GC (Ergonomics) [PSYoungGen: 113660K->0K(1078272K)]
[ParOldGen: 608998K->319617K(731136K)] 722659K->319617K(1809408K),[Metaspace: 78468K->78468K(1120256K)], 0.7647321 secs] [Times: user=3.06 sys=0.06, real=0.77 secs] 

这是fullGC 触发原因系统调用,表示JVM内部环境认为此时可以进行一次垃圾收集。

97.172: [Full GC (Metadata GC Threshold) [PSYoungGen: 19117K->0K(1314304K)]
[ParOldGen: 92121K->102831K(393728K)] 111239K->102831K(1708032K),
[Metaspace: 57037K->57037K(1101824K)], 0.7376882 secs] [Times: user=2.40 sys=0.03, real=0.74 secs] 

这是fullGC 触发原因元空间不足,方法区

14.622: [Full GC (Metadata GC Threshold) [PSYoungGen: 22862K->0K(1009152K)][ParOldGen: 74731K->84004K(307712K)] 97593K->84004K(1316864K),[Metaspace: 34473K->34473K(1081344K)], 0.2161652 secs] [Times: user=0.87 sys=0.01, real=0.21 secs] 

这是fullGC 触发原因元空间不足,方法区

392.288: [Full GC [PSYoungGen: 33356K->0K(943104K)] [ParOldGen: 63939K->65555K(659968K)]
97295K->65555K(1603072K) [PSPermGen: 37621K->33623K(74240K)], 0.2658880 secs][Times: user=0.88 sys=0.00, real=0.27 secs] 

这是fullGC 触发原因老年区

-XX:+PrintGCTimeStamps -XX:+PrintGCDetails 日志分析相关推荐

  1. 9开启线程日志_GC 日志分析

    GC 日志分析 首先,如果需要查看 GC 日志,需要在 jvm 参数中加入如下参数 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:d:/GClo ...

  2. GC之七--gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

  3. Java中GC (Allocation Failure)日志分析实战

    概述 博主在最近使用spring batch的过程当中遇到了内存容量耗尽程序崩溃的问题,于是决定将此次的内存问题分析通过本篇博客记录下来. 在分析gc日实例志之前,我们先通过一条<深入理解jav ...

  4. java8 GC日志分析

    @[toc] 前言 最近学习分析了一下java8的GC日志,顺便记录下来,忘性太大了 背景: java version "1.8.0_144" Java(TM) SE Runtim ...

  5. java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:MaxGCPauseMillis=100/虚拟机调优

    转自:https://www.cnblogs.com/shanheyongmu/p/5775003.html JVM的堆的内存, 是通过下面面两个参数控制的 -Xms 最小堆的大小, 也就是当你的虚拟 ...

  6. 可视化GC日志分析工具

    许多人的努力,只是为了欺骗自己和做给别人看的而已.他们都只是看起来很努力而已. 概述 本章給大家推荐一款web可视化分析GC日志工具 准备测试代码 public class TestGC {// 实现 ...

  7. 内存与垃圾回收——(十二)GC 日志分析

    文章目录 12_GC 日志分析 12.1_GC 常用参数 12.2_日志补充说明 12.3_举例解读日志中堆空间数据 12.4_日志分析工具 12_GC 日志分析 12.1_GC 常用参数 通过阅读 ...

  8. 第 17 章 一 G1回收器(重点)、垃圾回收器总结(重要)、GC日志分析、垃圾回收器的新发展(了解)

    由于篇幅, 无缝衔接上篇博客 ! 7.G1 回收器 (重重点):区域化分代式 (并行回收器) JDK9的默认垃圾回收器 7.1.为什么还需要 G1 在延迟可控的情况下, 尽可能获取高的吞吐量 采用标记 ...

  9. 【JVM】JVM参数性能调优 -Xms -Xmx -Xmn -XX:NewRatio -XX:SurvivorRatio

    原文链接: http://unixboy.iteye.com/blog/174173/ 上图来自:https://blog.csdn.net/jakeswang/article/details/105 ...

  10. tomcat 启动参数 Xms, Xmx, XX:MaxNewSize, XX:PermSize, -XX:MaxPermSize, Djava.awt.headless

    在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加 JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSiz ...

最新文章

  1. oracle比较好的链接记录
  2. 【ARM】Tiny4412裸板编程之异常(软中断)
  3. maven打包pom.xml备忘
  4. linux命令看文件内容,Linux文件内容查看相关命令
  5. 五皇后问题 java_Java的5个古怪问题
  6. gulp教程之gulp-minify-css【gulp-clean-css】
  7. CodeFileBaseClass 属性
  8. MySQL MVCC 概述
  9. 使用MySQL处理百万级以上数据时,几个好习惯常识
  10. 悟空问答 模板 html,悟空问答上首页技巧每小时2500个阅读快速为自己吸粉.pdf
  11. github 仓库管理及代码上传
  12. bat计算机清理原理,电脑清理系统垃圾bat的操作步骤
  13. 硬件科普系列之内存篇
  14. autoCAD 使用图层、颜色和线型
  15. utc时间 单位换算_国际时间换算
  16. 代码评审这点事,元芳你怎么看
  17. csu1337 搞笑版费马大定理
  18. Java 基础篇:第十九章:多线程
  19. 解决“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分”
  20. 如何维持手机电池寿命_延长iPhone 手机电池寿命的几个方法

热门文章

  1. IT大公司面试流程与总结
  2. 出租车计费程序php,出租车计价器VHDL程序
  3. 贝叶斯详细分析,详细例子解释
  4. p6spy监测mysql_Spring使用p6spy监控sql
  5. Linux删除含有特殊符号文件名的文件
  6. 安装和维护ImageJ
  7. 2017微软校园招聘笔试题
  8. 10分钟也不一定学会的灵敏度分析
  9. 2015广州国际游博会:关于手游安全的那些事儿
  10. 使用RandomString设置随机经纬度-jmeter