问题:某天早上8点钟不停的收到大量FullGC告警,且都是同一台机器在告警
查看生产日志
发现是因为调用其他系统dubbo接口异常引起的,需要进一步到底层系统进行日志查询,但是底层系统没有明显报错
怀疑是否是并发徒增引起,查看dubbo调用量QPS,发现有一定增幅,同步加机器
QPS与往常先比并没有大幅提升,应该在系统承受范围内,保险起见做了加机器处理,有点效果,但很快报警又来了
同一台机器在告警,并且去观察其他机器是否也有报错信息
其他机器也有报错,并不是机器本身的问题
联系DBA查看是否因为数据库抖动引起的
未发现异常
查询最近发版的内容,是否由于代码质量引起
在前天晚上凌晨做过发版,将一个for循环调用单查询接口,改为了底层系统新提供的批量查询接口,可能是因为这个问题,及时做了回滚操作,发现FullGC问题逐渐恢复,至此确切是代码问题
代码问题:原来单次查询后会对返回结果及时处理,改为批量查询后一次返回的结果过大,处理较慢,在但是的并发下机器内存不足以承受导致GC