-
解決的方法有很多,下面我們來談談以下幾點。
第一步是修改JVM啟動引數,直接增加記憶體。 (不要忘記新增 -xms、-xmx 引數。 )
第二步是檢查錯誤日誌,看看在“outofmemory”錯誤之前是否有任何其他異常或錯誤。
第三步是對**進行演練和分析,找出可能發生的記憶體溢位。
位置。 造成記憶體不足和記憶體溢位的原因有很多,常見的有以下幾種:
1.記憶體中載入的資料量過大,例如一次從資料庫中獲取過多的資料;
2.集合類中有對物件的引用,使用後不清空,這樣jvm就不能**;
3.** 存在無限迴圈或迴圈,該迴圈產生物件實體的過多重複;
4.使用的第三方軟體中的錯誤;
5.啟動引數的記憶體值設定得太小;
第一步是修改JVM啟動引數,直接增加記憶體。 (不要忘記新增 -xms、-xmx 引數。 )
第二步是檢查錯誤日誌,看看在“outofmemory”錯誤之前是否有任何其他異常或錯誤。
第三步是對 ** 進行演練和分析,找出可能發生記憶體溢位的位置。
重點關注以下幾點:
1.檢查對資料庫的查詢是否一次性獲取所有資料。 一般來說,如果一次獲取 100,000 條記錄到記憶體中,則可能會發生記憶體溢位。
這個問題比較隱蔽,上線前資料庫中的資料較少,不容易引起問題,上線後資料庫中的資料較多,一次查詢就可能導致記憶體溢位。 因此,請嘗試對資料庫查詢使用分頁。
2.檢查 ** 中的死迴圈或遞迴呼叫。
3.檢查是否有大迴圈。
重複建立新的物件實體。
4.檢查對資料庫的查詢是否一次性獲取所有資料。 一般來說,如果一次獲取 100,000 條記錄到記憶體中,則可能會發生記憶體溢位。
這個問題比較隱蔽,上線前資料庫中的資料較少,不容易引起問題,上線後資料庫中的資料較多,一次查詢就可能導致記憶體溢位。 因此,請嘗試對資料庫查詢使用分頁。
5.檢查列表、地圖等集合物件用完後是否未清除。 集合物件(如 list、map 等)將始終具有對該物件的引用,因此這些物件不能是 gc**。
第 4 步:使用記憶體檢視器動態檢視記憶體使用情況。
有很多方法,它告訴你三點1,新增另乙個記憶體模組。
2、解除安裝系統盤中無用的軟體; 3.動手設定:我的電腦右鍵單擊屬性-高階-設定-高階,將最大值更改為計算機記憶體的倍數。
你可以再試一次**一,如果不行,就解除安裝一些不必要的東西,再試一次,也許沒關係,其實我的電腦不是你好,但是從來沒有,你不妨解除安裝一些東西再試一次。 、 >>>More
當婚姻出現問題時,就要想辦法解決,看看是什麼原因導致了婚姻問題,是個人行為還是意識形態,還是兩個人相處時的三種觀點不一致,只有找到原因,才能徹底解決。