0
点赞
收藏
分享

微信扫一扫

JVM 调优实战

一脸伟人痣 2022-04-02 阅读 79
javaspring

近日公司线上一个项目出现卡顿现象,查看应用日志并没有发现错误日志,服务器资源占用也不高,一切看起来都很正常,然后查看了jvm 各个区域的使用情况,执行命令 jstat -gcutil 1 250 20, 显示如下

 

指标说明

S0: Survivor FROM 使用百分比

S1: Survivor To 使用百分比

E: Eden 区域使用百分比

O: 老年代使用百分比

M: 元空间使用百分比

CCS: 压缩类空间利用率为百分比

YGC: 年轻代 GC次数

YGCT: 年轻代GC耗时

FGC: FullGC次数

FGCT: FullGC 耗时

GCT: FGCT + YGCT, GC总耗时

从图中可以看出FullGC 次数5242次,YGC 次数更是达到了3407557次,经过观察大概12分钟左右触发一次,每次接近4秒。

根据上图可以知道FullGC和YGC 发生频率过高,于是查看了jvm 参数,发现在项目部署时,并没有指定-Xms -Xmx -Xmn 相关参数,造成堆内存、老年代、新生代内存分配过小,新生对象在新生代引用未释放的情况下,触发YangGC,大量新生对象存活导致s1空间不足&

举报

相关推荐

0 条评论