• 技术文章 >头条

    gc日志在java的查看方法

    小妮浅浅小妮浅浅2021-02-07 17:25:36原创7383

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1.概念

    可以帮助我们更好地排查一些线上问题,如OOM、应用停顿时间过长等等。GC日志对我们进行JVM调优也是很有帮助的。采用不同的GC收集器所产生的GC日志的格式会稍微不同,但虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共性。

    2.日志格式

    <datestamp>:[GC[<collector>:<start occupancy1>-><end occupancy1>(total size1),<pause time1> secs]<start occupancy2>-><end occupancy2>(total size2),<pause time2> secs] [Times:<user time> <system time>, <real time>]

    3.日志查看参数

    javaGC日志查看可以通过在java命令种加入参数来指定对应的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 日志文件的输出路径

    4.实例

    (1)Java HotSpot(TM) 64-Bit Server VM warning: ignoring option HandlePromotionFailure; support was removed in 6.0_24
    (2)2018-05-05T22:34:16.800+0800: [GC [PSYoungGen: 8184K->1000K(9216K)] 8184K->3398K(19456K), 0.0080798 secs] [Times: user=0.02 sys=0.00, real=0.01 secs] 
    (3)2018-05-05T22:34:16.808+0800: [GC [PSYoungGen: 7445K->952K(9216K)] 9843K->9502K(19456K), 0.0042325 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
    (4)2018-05-05T22:34:16.813+0800: [Full GC [PSYoungGen: 952K->0K(9216K)] [ParOldGen: 8550K->7001K(10240K)] 9502K->7001K(19456K) [PSPermGen: 4940K->4939K(21504K)], 0.0267644 secs] [Times: user=0.02 sys=0.00, real=0.03 secs] 
    (5)Heap
    (6) PSYoungGen      total 9216K, used 6234K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
    (7)  eden space 8192K, 76% used [0x00000000ff600000,0x00000000ffc16b08,0x00000000ffe00000)
    (8)  from space 1024K, 0% used [0x00000000fff00000,0x00000000fff00000,0x0000000100000000)
    (9)  to   space 1024K, 0% used [0x00000000ffe00000,0x00000000ffe00000,0x00000000fff00000)
    (10) ParOldGen       total 10240K, used 7001K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000)
    (11)  object space 10240K, 68% used [0x00000000fec00000,0x00000000ff2d6630,0x00000000ff600000)
    (12) PSPermGen       total 21504K, used 4949K [0x00000000f9a00000, 0x00000000faf00000, 0x00000000fec00000)
    (13)  object space 21504K, 23% used [0x00000000f9a00000,0x00000000f9ed55e0,0x00000000faf00000)

    以上就是gc日志在java的查看方法,通过日志的形式,我们能够对问题的处理追根溯源,同时进行相应的优化工作。大家在学会日志的方法后,可以就自己的gc日志做一个查看。

    专题推荐:java gc日志
    上一篇:ps抠图工具有哪些 下一篇:java的jdk是什么

    相关文章推荐

    • java关键字是什么• java中gc是什么• gc在java中原理分析• java中gc算法的实现

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网