最近公司項目常常出現OOM,dump出堆棧信息發現User對象佔了80%的內存,緩存
檢查代碼未發現有查詢全量用戶信息的地方,該現象連續出現了一個星期,都是User對象引發的,session
仔細查看日誌發現有一個接口調用異常頻繁,再結合代碼分析發如今接口層上一級有一個攔截器,校驗session裏面的用戶信息,日誌
能夠判定問題基本上就在此處,每次請求接口時將查詢的用戶信息放入session,而且未設置session超時時間(默認半小時),對象
當訪問量大是會出現內存暴增,接口
修復方案:下session信息存入Redis緩存,作session共享內存