一次线上fullgc排查

.#背景
接到机器告警,告警信息是:【(SpanFullGCCollectionCount:18)FGC次数:18.0 FGC时间:32865.0】。

解决方案

开始觉得奇怪,为啥会突然有fullgc了,也没有什么太大的改动,于是乎开始折腾起来了。

解决步骤

①登陆机器确认概况
登陆机器后,执行jmap命令查看内存使用情况。

sudo bin/jmap -heap 进程ID

这里写图片描述

可以看到是perm区已经使用接近100%了。明显可以看到是类加载过多的情况

②解决方案
其中一个简单的方案就是增加perm区的空间。

-Xms4g -Xmx4g -Xmn2g -XX:PermSize=256m -XX:MaxPermSize=512m

将原有的perm区从96增大到256。重新启动后,不再有fullgc告警。增加后查看新的内存使用情况:
这里写图片描述

发现perm区使用率已经下降到70%了。

你可能感兴趣的:(JAVA/JSP)