一、背景介绍
在之前的文章中,我们介绍了 JVM 的垃圾收集器相关知识,那么如何分析当前虚拟机性能呢?其中 GC 日志起到至关重要的作用。
实际上,每种垃圾收集器都有它独立的日志格式,尽管如此,虚拟机为了方便用户阅读,将各个收集器的日志都维持在一定的共性状态。
下面我们一起来看看不同的垃圾收集器,相关的 GC 日志内容。
本文是基于 JDK 1.8 版本运行,可能不同的版本各个内存区域的名称略有不同,对知识的理解不会产生明显的误区。
二、触发GC时机
通常,GC 触发的条件有两种:
- 1.程序调用
System.gc
时可能会触发,此时会建议 JVM 进行垃圾回收,但不代表一定会进行 GC 动作; - 2.系统自身来决定 GC 触发的时机,比如年轻代空间不足、老年代空间不足等就会主动触发 GC 动作
大约 10 分钟