系统启用时OOM,调用栈中无自定义的包名。
使用mat分析dump,
./ParseHeapDump.sh ../jvm.hprof org.eclipse.mat.api:top_components
重复出现的对象是因为数据库中有重复的项,且一起被载入到了内存。因此初步判断是代码中有
select * from xxx 的查询导致。
简单找了一些代码没有找到。于是开启sql 日志。
spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true
这样在启用的时候,可以看到初始化时执行的sql语句,进而定为到了问题的代码。