大家好,欢迎来到IT知识分享网。
1. YGC和FGC说明:
YGC :对新生代堆进行gc。频率比较高,因为大部分对象的存活寿命较短,在新生代里被回收。性能耗费较小。
FGC :全堆范围的gc。默认堆空间使用到达80%(可调整)的时候会触发fgc。以我们生产环境为例,一般比较少会触发fgc,有时10天或一周左右会有一次。
2. YGC和FGC执行时机:
a.edn空间不足,执行 young gc
b.old空间不足,perm空间不足,调用方法System.gc() ,ygc时的悲观策略, dump live的内存信息时(jmap –dump:live),都会执行full gc。
3,JVM内存空间设置:
JVM内存设置越大,fgc耗时越长,并非越大越好。一般JVM配置的内存越想,fgc时间越短,1G>2G>3G。
4,GC影响:
GC耗时太长、GC次数太多会影响进程的性能,导致进程响应变慢,或者无法响应。
FGC正常次数:越少越好。比较正常情况几个小时一次、或者几天才一次。
FGC耗时:耗时很长会导致线程频繁被停止,使应用响应变慢,比较卡顿。
YGC耗时:耗时在几十或者几百毫秒属于正常情况,用户几乎无感知,对程序影响比较少。耗时太长或者频繁,会导致服务器超时问题。
YGC次数:太频繁,会降低服务的整体性能。高并发服务时,影响会比较大。
5,FGC
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139277.html