记一次OOM分析

系统启用时OOM,调用栈中无自定义的包名。

使用mat分析dump,

./ParseHeapDump.sh ../jvm.hprof   org.eclipse.mat.api:top_components

记一次OOM分析

 

记一次OOM分析

重复出现的对象是因为数据库中有重复的项,且一起被载入到了内存。因此初步判断是代码中有

select * from xxx 的查询导致。

简单找了一些代码没有找到。于是开启sql 日志。

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

这样在启用的时候,可以看到初始化时执行的sql语句,进而定为到了问题的代码。