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

時間 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樓:匿名使用者

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

電視記憶體不足怎麼解決

買電視盒子呀。電視記憶體不夠不能加的只能換。換電視盒子。不要安裝軟體。回答您好親親,進入設定,找到電視管家,然後進行清理就可以了,如果清除快取不行,就解除安裝一些不常用的電視軟體就可以正常使用了 可以告我一下電視型號,我告您具體操作方法哦 造成電視卡頓 記憶體不足的原因 一 安裝軟體太多 我們知道現...

系統記憶體不足要怎麼辦,如何解決電腦記憶體不足

是虛擬記憶體吧?去改一下,在我的電腦屬性高階裡。如果是實體記憶體,點我的電腦屬性看你實體記憶體多大,是不是插了兩個記憶體條,消失了一個,拔下來擦拭下金手指,氧化了。1.換哥大點記憶體。最好是4g的前提你的主機板支援ddr3的。2把虛禮記憶體調大一點,最好是最低值是最大值的二分之一。3.祝lz開心快樂...

提示什麼虛擬記憶體不足怎麼解決

如果你的硬碟空間夠大,你也可以自己設定虛擬記憶體,具體步驟如下 右鍵單擊 我的電腦 屬性 高階 效能設定 高階 虛擬記憶體更改 選擇虛擬記憶體 頁面檔案 存放的分割槽 自定義大小 確定最大值和最小值 設定。一般來說,虛擬記憶體為實體記憶體的1.5倍,稍大一點也可以,如果你不想虛擬記憶體頻繁改動,可以...