亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java.lang.OutOfMemoryError: Java heap space內存不足問題

2019-11-06 06:06:42
字體:
來源:轉載
供稿:網友

 

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space解決方法

問題描述Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

解決方案[轉]一直都知道可以設置jvm heap大小,一直用eclipse寫/調試java程序。一直用命令行or console加參數跑程序。現象:在eclipse的配置文件eclipse.ini中設置-vmargs -Xms500m -Xmx1024m, 在eclipse中直接run 或者debug某些耗內存的程序時依然出現java.lang.OutOfMemoryError: Java Heap Space錯誤,即通常認為的內存不足,java虛擬機內存不夠用。而在命令行加這些參數則有效果,不會出錯。這說明一個問題,這些參數根本沒有起作用。 今天需要在eclipse里調試程序,還沒到需要調試的地方就heap error了,在網上搜了很多地方,得到了最終的答案:選中被運行的類,點擊菜單‘run->run...’,選擇(x)=Argument標簽頁下的vm arguments框里輸入 -Xmx800m, 保存運行。原來還需要對每個PRoject單獨設置,汗...有三種可能導致OutOfMemoryError。

首先是,此JVM有真實的內存泄漏,導致此JVM堆在內部實現時產生了一個Bug。這極不可靠。所有JVM都經過充分的測試,并且,如果有人發現這種bug,它將絕對是最高的優先級。因此你可以非常寬心地排除這種可能性。第二種可能的OutOfMemoryError原因只不過是,你沒有為你的應用程序運行時給予足夠多的可用內存。這種情況,有兩種可能的方案,或者增加 JVM堆可用大小,或者減少你的應用程序所需的內存總量。提高JVM可用堆大小可以簡單的使用JVM的 -Xmx 參數。假如你將此參數設置盡可能的大(可用內存極限不要超過系統物理內存,否則你的應用程序將分頁并暫停),仍然有以上所提到的內存問題,那么,你需要減 少你的應用程序所可能用到內存總量。減少應用程序內存可能是簡單的,你可能允許一些集合過大,例如使用了許多大的緩沖區。或者它過于復雜,要求你重新實現 一些類,乃至重新設計應用程序。讀者 Jams Stauffer 指出有些JVM(例如 sun的 JVMs),還有一個“Perm”參數用來處理JVM結構與類對象。如果你正在使用一個數量非常巨大的類集,它有可能運行在"Perm"空間之外,然后你 需要增加此空間的大小,例如,sun的JVM使用 -XX:PermSize 與 -XX:MaxPermSize 選項。第三種導致OutOfMemoryError最為常見,無心的對象引用保持。你沒有明確無誤的釋放對象,以致于你的堆增長再增長,直到你沒有額外的空間。處理OutOfMemoryError:是JVM內部的BUG?不太可能。如果是,這是優先級最高的BUG(為什么還沒有人發現它,而你碰到了?)。沒有足夠的內存分配給實際運行的應用程序?兩種選擇:使用-Xmx參數增加堆的最大使用內存(或者使用-XX:MaxPermSize參數增加Perm空 間大?。? 或者使用更小的集合/緩沖區/表空間/對象.....,以減少所需要的內存總量,也就是說,可以調整對象大小,重新設計與重新實現你的應用程 序。無心的對象引用保持?找到保持這些無意引用的源對象,改變它并釋放這些對象。在IBM開發者社區的文章綱要式的揭示了這樣一個通用的處理過程。這個過程主 要是等到應用程序到達恒定狀態--你將期望最多的新創建的對象是臨時對象,并且可以被垃圾收集器收集。這常常是在應用程序所有的初始化工作完成之后。強迫垃圾收集,獲得一個堆的對象快照。做任何工作可能正在導到無意的對象引用保持。強迫另一次垃圾收集并獲得第二次堆的對象快照。比較這兩個快照,觀察從第一個快照到第二個快照哪些對象在數量上有所增加。因為你在快照之前強迫垃圾收集,剩下的將是所有被應用程序引用的對象,比較兩個快照將準確的標識那些新創建的、保留在應用程序里的對象。根據你對應用程序的認識,決定兩個快照比較中,哪些對象正在無意的保持對象引用。跟蹤前導引用,找到哪些對象正在引用這些無意的保持對象,直到你找到導致此問題的源對象啟動虛擬機的時候,加上一個參數:-Xms800m -Xmx800m就好了 -Xms <size> 設置JVM初始化堆內存大小 -Xmx <size> 設置JVM最大的堆內存大小 如果是應用程序,則:java -Xms800m -Xmx800m 你的類名 如果是tomcat之類的web服務器,在這個服務器的啟動文件后面加上這個參數即可。另外設置環境變量JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

 

//轉2

 

//首先檢查程序有沒有限入死循環

 

這個問題主要還是由這個問題 java.lang.OutOfMemoryError: Java heap space 引起的。第一次出現這樣的的問題以后,引發了其他的問題。在網上一查可能是JAVA的堆棧設置太小的原因。跟據網上的答案大致有這兩種解決方法:1、設置環境變量

 

解決方法:手動設置Heap size修改TOMCAT_HOME/bin/catalina.shset JAVA_OPTS= -Xms32m -Xmx512m可以根據自己機器的內存進行更改。2、java -Xms32m -Xmx800m className就是在執行JAVA類文件時加上這個參數,其中className是需要執行的確類名。(包括包名)這個解決問題了。而且執行的速度比沒有設置的時候快很多。如果在測試的時候可能會用Eclispe 這時候就需要在Eclipse ->run -arguments 中的VM arguments 中輸入-Xms32m -Xmx800m這個參數就可以了。

 

后來在Eclilpse中修改了啟動參數,在VM arguments 加入了-Xms32m -Xmx800m,問題解決。

 

一、java.lang.OutOfMemoryError: PermGen space

 

PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域,這塊內存主要是被JVM存放Class和Meta信息的,Class在被Loader時就會被放到PermGen space中,它和存放類實例(Instance)的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的應用中有很多CLASS的話,就很可能出現PermGen space錯誤,這種錯誤常見在web服務器對jsp進行pre compile的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小超過了jvm默認的大小(4M)那么就會產生此錯誤信息了。解決方法: 手動設置MaxPermSize大小

 

修改TOMCAT_HOME/bin/catalina.sh在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m建議:將相同的第三方jar文件移置到tomcat/shared/lib目錄下,這樣可以達到減少jar 文檔重復占用內存的目的。

 

二、java.lang.OutOfMemoryError: Java heap spaceHeap size 設置JVM堆的設置是指java程序運行過程中JVM可以調配使用的內存空間的設置.JVM在啟動的時候會自動設置Heap size的值,其初始空間(即-Xms)是物理內存的1/64,最大空間(-Xmx)是物理內存的1/4??梢岳肑VM提供的-Xmn -Xms -Xmx等選項可進行設置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。提示:在JVM中如果98%的時間是用于GC且可用的Heap size 不足2%的時候將拋出此異常信息。提示:Heap Size 最大不要超過可用物理內存的80%,一般的要將-Xms和-Xmx選項設置為相同,而-Xmn為1/4的-Xmx值。 解決方法:手動設置Heap size修改TOMCAT_HOME/bin/catalina.sh在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:JAVA_OPTS="-server -Xms800m -Xmx800m   -XX:MaxNewSize=256m"

 

三、實例,以下給出1G內存環境下java jvm 的參數設置參考:

 

JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

很大的web工程,用tomcat默認分配的內存空間無法啟動,如果不是在myeclipse中啟動tomcat可以對tomcat這樣設置:

TOMCAT_HOME/bin/catalina.bat 中添加這樣一句話:

          set JAVA_OPTS= -Xmx1024M -Xms512M -XX:MaxPermSize=256m

 

如果要在myeclipse中啟動,上述的修改就不起作用了,可如下設置:

 

Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

 

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

 

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

 

挺靈的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久97| 亚洲第一福利在线观看| 中文字幕一区电影| 在线观看欧美www| 欧美黄色片在线观看| 3344国产精品免费看| 亚洲成人激情视频| 九九久久久久久久久激情| x99av成人免费| 日韩有码在线播放| 欧美高跟鞋交xxxxhd| 欧美成人全部免费| 久久久久免费视频| xxxx欧美18另类的高清| 97在线视频免费播放| 国产精品高潮呻吟久久av黑人| 久久香蕉频线观| 久久人人爽人人爽人人片亚洲| 欧美另类在线播放| 精品久久久久久久久中文字幕| 日韩中文字幕视频| 97人洗澡人人免费公开视频碰碰碰| 欧美国产极速在线| 97**国产露脸精品国产| 97香蕉超级碰碰久久免费的优势| 日韩av手机在线观看| 亚洲四色影视在线观看| 亚洲国产99精品国自产| 精品偷拍一区二区三区在线看| 久久久精品在线| 美女少妇精品视频| 欧美激情视频网站| 欧美激情一二三| 国产精品亚发布| 国产精品xxx视频| 亚洲va国产va天堂va久久| 亚洲免费精彩视频| 国产精品视频播放| 热久久这里只有| 中文字幕日韩在线视频| 亚洲日韩欧美视频| 国产精品1234| 国产精品99蜜臀久久不卡二区| 亚洲国产一区自拍| 国产精品久久久久久av| 久久噜噜噜精品国产亚洲综合| 亚洲国产精品yw在线观看| 国产视频福利一区| 青草青草久热精品视频在线网站| 国产精品久久久久免费a∨| www.xxxx精品| 成人免费视频网| 精品国内产的精品视频在线观看| 性日韩欧美在线视频| 久久久久久久999| 国产精品爽爽ⅴa在线观看| 久久电影一区二区| 欧美一区二区影院| 色综合久久天天综线观看| 国模私拍一区二区三区| 一区二区在线视频播放| 色999日韩欧美国产| 日韩av有码在线| 亚洲天堂av在线免费观看| 欧美wwwwww| 日韩精品在线免费观看| 欧美一区二区三区免费视| 欧美亚洲午夜视频在线观看| 国产免费一区视频观看免费| 久久精品国产亚洲精品| 国产精品成人va在线观看| 97精品国产91久久久久久| 亚洲国产成人在线播放| 国产欧美久久久久久| 日韩视频第一页| 欧美午夜激情小视频| 国产精品一久久香蕉国产线看观看| 成人午夜在线视频一区| 91黑丝高跟在线| 欧美性xxxxx极品娇小| 亚洲精品中文字幕有码专区| 精品国产一区二区三区久久狼5月| 亚洲白虎美女被爆操| 伊人久久五月天| 久久九九有精品国产23| 欧美日韩色婷婷| 日韩高清电影免费观看完整| 久久99亚洲精品| 亚洲综合社区网| 自拍偷拍亚洲欧美| 欧美性少妇18aaaa视频| 亚洲人成网7777777国产| 亚洲欧美国产另类| 国产成人精品a视频一区www| 成人免费视频网址| 国产精品第2页| 91久久久久久久一区二区| 国产精品九九九| 亚洲男人天堂2024| 久久精品夜夜夜夜夜久久| 亚洲图中文字幕| 久久久亚洲影院你懂的| 韩国日本不卡在线| 久久久久久久999| 亚洲影院色无极综合| www.久久色.com| 91探花福利精品国产自产在线| 亚洲国产精品久久精品怡红院| 日韩二区三区在线| 亚洲一二三在线| 国产成人精品国内自产拍免费看| 欧美激情精品在线| 亚洲一区二区免费在线| 日韩av手机在线| 欧美成年人视频网站| 上原亚衣av一区二区三区| 亚洲精品永久免费| 国产成人一区二区三区| 中文字幕日韩精品在线观看| 久久久免费精品视频| 91午夜在线播放| 九九精品在线播放| 亚洲乱亚洲乱妇无码| 亚洲国产精品视频在线观看| 91色在线观看| 久久成人18免费网站| 亚洲视频网站在线观看| 韩国日本不卡在线| 成人a在线观看| 亚洲娇小xxxx欧美娇小| 国产亚洲精品久久久优势| 日韩电影网在线| 国产精品稀缺呦系列在线| 亚洲综合自拍一区| 国产综合香蕉五月婷在线| 亚洲欧美一区二区三区久久| 久久久久久高潮国产精品视| 成人深夜直播免费观看| 欧美尺度大的性做爰视频| 97高清免费视频| 精品精品国产国产自在线| 亚洲精品免费网站| 精品国产欧美一区二区三区成人| 日韩国产在线播放| 欧美综合在线观看| 中文字幕精品久久久久| 都市激情亚洲色图| 成人亚洲欧美一区二区三区| 亚洲一区美女视频在线观看免费| 欧美日韩中文字幕在线视频| 久久免费少妇高潮久久精品99| 国产精品国产三级国产aⅴ浪潮| 日韩精品极品在线观看| 国产精品一二三视频| 欧美乱大交做爰xxxⅹ性3| 一区二区欧美久久| 国产精品久久一区| www.日本久久久久com.| 亚洲天堂男人天堂女人天堂| 欧美男插女视频| 另类视频在线观看| 久色乳综合思思在线视频| 国产精品嫩草视频| 亚洲国产精品视频在线观看|