系統啓用時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語句,進而定爲到了問題的代碼。