Serial GC

本文介绍了Java的Serial GC,这是一种单线程的垃圾收集器,适用于小内存和单CPU环境。在年轻代使用mark-copy,老年代使用mark-sweep-compact,会导致stop-the-world现象。Minor GC和Full GC的日志分析展示了内存使用和收集过程,其中Full GC会清理全部堆和元空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Serial GC:

串行垃圾收集器:在Young Generation使用mark-copy,在Old Generation使用mark-sweep-compact,并且都是单线程收集器;都会触发stop-the-world。  

只需要单个参数设置

  java -XX:+UseSerialGC com.mypackages.MyExecutableClass

  垃圾收集器使用:young 是 mark-copy;tenured是mark-sweep-compact

  会引发stop-the-world

  建议:几百兆和单个cpu的环境下使用

-----------------------

Minor GC 日志:

1:GC事件启动的时间

2:GC事件相对于JVM启动的时间,以秒为测量单位

3:区分是Minor GC 或 Full GC的标志;这里表示使用的是Minor GC

4:触发GC时间的原因;这里表示在young中没有合适的内存空间保存新对象

5:垃圾收集器的名称;DefNew表示新生代使用Serial串行GC垃圾收集器

6:年轻代收集前后对象空间占有大小

7:年轻代的总大小

8:整个堆收集前和收集后的对象占用空间大小

9:整个堆的大小

10:以秒为单位的GC持续时间

11:-user:垃圾收集器线程占用的cpu时间

       -sys:花费在系统调用上的时间或等待系统事件的时间

       -real:应用暂定时间,这里是serial gc,是单线程的,所以real=user+sys

结论:老年代的大小=堆大小-年轻代占有大小; gc日志不直接展示老年代大小

 

2020-12-13T15:23:15.044-0800: 0.738: [GC (Allocation Failure) 2020-12-13T15:23:15.044-0800: 0.738: [DefNew: 59008K->5901K(66368K), 0.0107606 secs] 59008K->5901K(213824K), 0.0107985 secs] [Times: user=0.01 sys=0.01, real=0.01 secs] 

 

---------------------------

Full GC日志:

1:执行GC的时间戳

2:相对于JVM启动时间的秒数

3:与之前的Minor收集相似

4:Tenured:老年代的垃圾收集器,Tenured表示单线程、stop-the-world、mark-sweep-compact垃圾收集器被使用

5:垃圾收集器执行完成前后对象占用大小

6:老年代总容量

7:老年代收集所用时间

8:整合堆在新生代和老年代垃圾收集器执行前后对象占用大小

9:JVM堆总的可用大小

10:Metaspace大小

11:-user:CPU占用时间

       -sys:调用系统或等待系统事件消耗的时间

       -real:应用暂停时间

2020-12-13T15:23:15.418-0800: 1.112: [Full GC (Metadata GC Threshold) 2020-12-13T15:23:15.418-0800: 1.112: [Tenured: 3224K->5678K(147456K), 0.0209193 secs] 16062K->5678K(213824K), [Metaspace: 20577K->20577K(1067008K)], 0.0209826 secs] [Times: user=0.02 sys=0.00, real=0.02 secs] 

结论:Full GC会将年轻代、老年代和Metaspace都会收集

参考《Plumbr Handbook Java 》

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值