对OutOfMemoryError的排查

今早配置项目环境,启动tomcat后,访问主页面 后台出现 java.lang.OutOfMemoryError: Java heap space 。

依照正常的思维,调大jvm堆的大小,修改tomcat/bin/catalina.sh 加上 set java_opts=-Xms512m -Xmx4096m ,随后启动项目时,出现 ubable to ping server localhost:8080,  用lsof -i:1099 查看端口使用情况,但显示并没有被使用,将catalina.sh的jvm配置删除,启动成功,而后发现tomcat的jvm配置会和idea的冲突, 随后更改idea的jvm配置,在idea/bin/idea.vmoptions 下修改。项目启动成功,但是问题依旧。

而后将焦点放在会不会是数据库加载初始化数据的数据出错了,因为给我的sql文件有3.2G, 清空数据库之后进行重试,但是问题依旧。

通过debug发现,过滤器的路径配置错误,导致向oauth2.0服务请求时出现循环,get后面的参数不断增加,导致最后出现异常, 将路径配置正确之后,问题解决。

原文地址:https://www.cnblogs.com/yuanshixingdan/p/8116565.html