zoukankan      html  css  js  c++  java
  • JVM学习笔记——GC日志

    title: JVM学习笔记——GC日志
    date: 2018/9/3 10:28:30
    description: 最近开始着手JVM的学习,在这里把自己学习过程中的笔记分享出来,希望能帮到一些小伙伴,同时也是对自己的学习的一个梳理。

    GC日志

    • GC日志相关参数

      • -XX:+PrintGC 输出GC日志
      • -XX:+PrintGCDetails 输出GC的详细日志
      • -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)
      • -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21: 53:59.234+0800)
      • -XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息
      • -Xloggc:../logs/gc.log 日志文件的输出路径
    • 理解GC日志

      0.247: [GC (Allocation Failure) [PSYoungGen: 6278K->776K(9216K)] 6278K->4880K(19456K), 0.0032813 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

      这是一个典型的GC日志的例子,接下来拆开解析一下日志的几个部分:

      • 0.247 是此次GC发生的时间,表示此次GC发生在JVM运行后0.247秒的时候。
      • [GC 表示此次GC的类型,类似的还有[Full GC,Full GC表示是带有停顿(Stop the World)的GC。
      • (Allocatioin Failure)表示此次GC发生的原因,如果是正常的GC,此处将会省略。Allocation Failure代表此次GC是由分配空间失败导致的。
      • [PSYoungGen:表示GC发生的区域及使用的收集器类型,采用Parallel Scavenge收集器时,新生代被称为“PSYoungGen”。
      • 方括号内部的6278K->776K(9216K)含义是GC前该内存区域已使用量->GC后该区域已使用量(该内存区域总容量)
      • 紧接着方括号外的6278K->4880K(19456K)含义是GC前JAVA堆已使用量->GC后JAVA堆已使用量(JAVA堆总容量)
      • 0.0032813 secs表示该GC的耗时,单位是秒。
      • [Times: user=0.00 sys=0.00, real=0.00 secs]是详细的时间数据,精确到小数点后两位,部分收集器不会给出该数据。这里的user、sys、real分别表示用户态消耗CPU时间、内核态消耗CPU时间、所经过的墙钟时间。
  • 相关阅读:
    函数
    数组
    类的例题
    异常语句
    类的学习
    for的穷举、迭代
    for循环
    switch case
    反相器,扇入扇出
    T触发器,JK触发器的verilog实现
  • 原文地址:https://www.cnblogs.com/qbzf-Blog/p/9577224.html
Copyright © 2011-2022 走看看