性能问答>Full GC频繁,Young GC次数较少什么原因?>
1回复
1年前

Full GC频繁,Young GC次数较少什么原因?



写了一个Jenkins插件,对接公司用户系统配合项目矩阵策略做权限控制,结果布置到线上后页面加载速度很慢,定位原因发现GC线程导致CPU过高,就看了一下GC状态:

$ jstat -gcutil 28311
S0    S1   E     O     P      YGC   YGCT   FGC  FGCT     GCT 
0.00  0.00 46.11 99.99 99.80  1498  24.775 2993 6890.734 6915.509

发现一直频繁的Full GC,相比之下Young GC却很少,由于线上Jenkins,连接了十几个agent,有上百任务,线下很难模拟,也不敢dump内存镜像分析,请各位大神帮忙推测一下可能原因。

怀疑过是old区太小导致的,所以-Xmx设置了3个G。

-Djava.awt.headless=true -Xms256m -Xmx3096m -server -XX:PermSize=128M -XX:MaxPermSize=512m -DJENKINS_HOME=/home/admin/.jenkins -jar /home/admin/.jenkins/jenkins.war
2887 阅读
请先登录,再评论

就光从题主原本的问题描述里给出的jstat -gcutil信息来看,可以猜测题主用的GC是ParallelScavenge(-XX:+UseParallelGC,在server class machine上这个是默认GC;以及有可能full GC用的是PSCompact)。

1年前