gc日志在java的查看方法

美女程序员鼓励师

本教程操作环境: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日志做一个查看。

以上是 gc日志在java的查看方法 的全部内容, 来源链接: utcz.com/z/542644.html

回到顶部