記憶體不足記憶體溢位的原因和解決方法

時間 2021-09-13 06:12:35

1樓:我愛越前龍雅

引起記憶體不足、記憶體溢位的 原因 有很多種,常見的有以下幾種:

1.記憶體中載入的資料量過於龐大,如一次從資料庫取出過多資料;

2.集合類中有對物件的引用,使用完後未清空,使得jvm不能**;

3.**中存在死迴圈或迴圈產生過多重複的物件實體;

4.使用的第三方軟體中的bug;

5.啟動引數記憶體值設定的過小;

記憶體溢位的解決方案 :

第一步 ,修改jvm啟動引數,直接增加記憶體。(-xms,-xmx引數一定不要忘記加。)

第二步 ,檢查錯誤日誌,檢視「outofmemory」錯誤前是否有其它異常或錯誤。

第三步 ,對**進行走查和分析,找出可能發生記憶體溢位的位置。

重點排查以下幾點:

1.檢查對資料庫查詢中,是否有一次獲得全部資料的查詢。一般來說,如果一次取十萬條記錄到記憶體,就可能引起記憶體溢位。

這個問題比較隱蔽,在上線前,資料庫中資料較少,不容易出問題,上線後,資料庫中資料多了,一次查詢就有可能引起記憶體溢位。因此對於資料庫查詢儘量採用分頁的方式查詢。

2.檢查**中是否有死迴圈或遞迴呼叫。

3.檢查是否有大迴圈重複產生新物件實體。

4.檢查對資料庫查詢中,是否有一次獲得全部資料的查詢。一般來說,如果一次取十萬條記錄到記憶體,就可能引起記憶體溢位。

這個問題比較隱蔽,在上線前,資料庫中資料較少,不容易出問題,上線後,資料庫中資料多了,一次查詢就有可能引起記憶體溢位。因此對於資料庫查詢儘量採用分頁的方式查詢。

5.檢查list、map等集合物件是否有使用完後,未清除的問題。list、map等集合物件會始終存有對物件的引用,使得這些物件不能被gc**。

第四步 ,使用記憶體檢視工具動態檢視記憶體使用情況。

2樓:匿名使用者

你可以將虛擬記憶體調大一點

3樓:匿名使用者

這個要看你機器配置了,給點具體提示是**記憶體不足?

絕地求生記憶體不足,絕地求生記憶體不足解決方法 記憶體怎麼優化

8gb記憶體吃雞是沒問題的,提示虛擬記憶體不足,可能是 一 感染了病毒。病毒發作時會佔用大量記憶體空間,導致系統出現記憶體不足的問題,升級病毒庫,全盤防毒。二 供大於求,設法減輕記憶體負擔。如,開啟的程式不可太多,如果同時開啟的文件過多或者執行的程式過多,就沒有足夠的記憶體執行其他程式,要及時關閉不...

ae建立 用於模糊的記憶體 記憶體不足

用右鍵點選桌面上的 我的電腦 圖示,在出現的右鍵選單中選擇 屬性 選項開啟 系統屬性 視窗。在視窗中點選 高階 選項卡,出現高階設定的對話方塊。點選 效能 區域的 設定 按鈕,在出現的 效能選項 視窗中選擇 高階 選項卡,開啟其對話方塊。在該對話方塊中可看到關於虛擬記憶體的區域,點選 更改 按鈕進入...

想問下tcl電視說記憶體不足點解決

兄弟連田心9號 清理電視記憶體,操作如下 步驟一 進入應用程式商店 開機後,按遙控器 主場景 鍵進入主場景,通過 左右鍵,找到 應用商店 快捷入口,按 確定 鍵進入應用程式商店應用分類列表頁。步驟二 進入應用管理模組 進入應用程式商店後,按 選單 鍵彈出管理選單介面,選取 確定 應用管理 進入已安裝...