Serial GC
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都会收集
本文地址:https://blog.csdn.net/weixin_43835869/article/details/112024660
上一篇: 姬昌身为四大伯侯之一 纣王为什么不敢杀他
下一篇: Linux usermod 命令的使用