通过阅读GC日志,我们可以了解Java虛拟机内存分配与回收策略。内存分配与垃圾回收的参数列表
- 一XX: +PrintGC 输出Gc日志。类似: 一verbose:gc
- 一XX: +PrintGCDetails 输出GC的详细日志
- 一XX: +PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)
- 一XX: +PrintGCDateStamps输出GC的时间戳(以日期的形式,如2013一05一04T21 : 53:59.234+0800 )
- 一XX: +PrintHeapAtGC 在进行GC的前后打印出堆的信息
- 一Xloggc:. . /logs/gc. log日志文件的输出路径
+PrintGC
- 打开GC日志:一verbose:gc
- 这个只会显示总的GC堆的变化, 如下:
[GC (Allocation Failure) 80832K一>19298K(227840K),0.0084018 secs] [GC (Metadata GC Threshold) 109499K一>21465K (228352K),0.0184066 secs] [Full GC (Metadata GC Threshold) 21 465K一>16716K (201728K),0.0619261 secs ]
参数解析:
GC、Full GC: GC的类型,GC只在新生代上进行,Full GC包括永生代,新生代, 老年代。 Allocation Failure: GC发生的原因。 80832K一> 19298K:堆在GC前的大小和GC后的大小。 228840k:现在的堆大小。 0.0084018 secs: GC持续的时间。
PrintGCDetails
-打开GC日志: 一ver