JVM 垃圾收集器日志及参数配置

2020-05-30  本文已影响0人  灰气球

虚拟机及垃圾收集器日志

​ 在JDK 9以前,HotSpot并没有提供统一的日志处理框架,虚拟机功能模块的日志开关分布在不同的参数上,日志级别、循环日志大小、输出格式、

重定向等设置在不同功能上都要单独解决。直到JDK 9,这种混乱不堪的局面才终于消失,Hot Spot所有功能的日志都受到了“-Xlog”参数上。

1. 查看GC基本信息

​ 在JDK 9之前使用-XX: +PrintGC,JDK 9后使用-Xlog:gc

image-20200220135157858.png

2. 查看GC详细信息

​ 在JDK 9之前使用-XX:+PrintGCDetails,在JDK 9之后使用-Xlong:gc*,用通配符 * 将GC标签下所有细分过程都打印出来,如果把日志级别调整到Debug或者Trace,还能获得更多细节信息:

[图片上传失败...(image-e2fd04-1585584083744)]

3. 查看GC前后的堆、方法去可用容量变化

​ 在JDK 9之前使用-XX:+PrintHeapAtGC,在JDK 9之后使用-Xlog:gc+heap=debug

[图片上传失败...(image-89a0d6-1585584083744)]

4. 查看GC过程中用户线程并发时间以及停顿的时间

​ 在JDK 9之前使用-XX:+PrintGCApplicationConcurrentTime以及-XX:+PrintGCApplicationStoppedTime,在JDK 9之后使用 -Xlog:safepoint

[图片上传失败...(image-7b2de-1585584083744)]

5. 查看收集器Ergonomics机制自动调节的相关信息

​ (自动设置堆空间各分代区域大小、收集目标等内容,从Parallel收集器开始支持)。在JDK 9之前使用-XX:+PrintAdaptive-SizePolicy,JDK 9之后使用-Xlog:gc+ergo*=trace

上一篇 下一篇

猜你喜欢

热点阅读