jvm-------分析一行GC日志

目录

  • 推荐公众号
  • 前言
  • 正文
    • GC日志分析

推荐公众号

有彩蛋哦!!!(或者公众号内点击网赚获取彩蛋)
程序员探索之路

前言

在没有看过深入理解jvm时对于gc感觉很神秘,今天同事在执行一个数据量较大的任务时怀疑是否是gc导致程序变慢,所以把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 日志文件的输出路径

垃圾收集器 Parallel Scavenge
minor gc
[GC (Allocation Failure) [PSYoungGen: 1326542K->36405K(1329664K)] 1411150K->121021K(1498112K), 0.0267718 secs] [Times: user=0.13 sys=0.00, real=0.03 secs]  
回收的是年轻代
年轻代1326542K->36405K(1329664K)
    回收前1326542K
    回收后36405K
    总大小1329664K
堆 1411150K->121021K(1498112K)
    回收前1411150K
    回收后121021K
    总大小1498112K
此次回收耗时  0.0267718 secs
[Times: user=0.13 sys=0.00, real=0.03 secs]
此次回收 用户耗时0.13  系统耗时sys=0.00 实际耗时0.03 secs

得出 此次年轻代回收了 1326542K - 36405K = 1290137k
整个堆此次回收了 1411150K - 121021K = 1290129k
那么此次进入年老代的大小为 1290137k - 1290129k = 8k

fullgc(和上面full gc来自不同服务)
[Full GC (Metadata GC Threshold) [PSYoungGen: 10454K->0K(141824K)] [ParOldGen: 24K->10045K(106496K)] 10478K->10045K(248320K), [Metaspace: 20624K->20622K(1067008K)], 0.0263085 secs] [Times: user=0.02 sys=0.00, real=0.03 secs] 

你可能感兴趣的:(jvm,分析gc日志)