java.lang.OutOfMemoryError: Java heap space,heapspace

來源:互聯網
上載者:User

java.lang.OutOfMemoryError: Java heap space,heapspace

一:起因

(1)學習IT的人,不論是寫前端還是後台;有時候需要對資料進行清洗處理,例如,資料庫日誌分析。

(2)處理資料的大小由MB 到 GB,在到TB,最後導致處理的每一個檔案都超過java jvm初始的heap

(3)對於單個檔案比較小的,並行要求不高的資料,我們可以通過更改JVM的初始參數進行解決 —— 但是這並不是根本的解決辦法。

(4)根本的解決辦法是hadoop分布式系統下的MapReduce

二:下面是針對(3)的處理辦法

(1)引起java.lang.OutOfMemoryError: Java heap space異常,可能是由JAVA的堆棧設定太小的原因

a:   若Eclipse 報 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”錯誤,可通過一下方法進行處理:首先, 開啟Eclipse軟體,選擇功能表列run,在二

級菜單中選擇 Debug Configurations,然後:在彈出的視窗中選擇(x)=arguments選項卡,VM arguments中輸入所需要的記憶體最大佔用量,比如輸入-Xmx800m即可。

b:  myeclipse中console輸出控制台,輸出限定大小,可通過windows—Run/Debug—Console中的Console buffer size大小進行修改,這樣可以使得console的空間變成size大小。

將java處理過的內容輸出到一文字檔中,使用換行,不是"\n",而是"\r\n'(但是我用的“\n”貌似也沒有事情的)

c:  【附】MyEclipse的設定地址在run--->Open Run Dialog--->Arguments

(2)在D:/apache-tomcat-6.0.18/bin/catalina.bat最前面加入:set JAVA_OPTS=-Xms128m -Xmx512m

注意:只有startup.bat啟動tomcat,設定才會生效,如果利用windows的系統服務啟動tomcat服務,上面的設定就不生效了, 

就是說set JAVA_OPTS=-Xms128m -Xmx512m沒起作用  


因為eclipse裡預設的一個程式的jvm配置為:-Xms128m -Xmx512m,所以我們的處理耗記憶體比較大時需要手動調整一下,以便不會記憶體溢出。具體的設定方法為:  
  選中被啟動並執行類,點擊菜單‘run->run...’,選擇(x)=Argument標籤頁下的vm arguments框裡輸入 -Xmx512m, 儲存運行就ok了  
  在你的TOMCAT->右擊->OPEN->在SERVER OVERVIEW 中General 中 Open launch configurtion 單擊—>選擇Argument 把預設設定去掉,在VM argument 中加一句話 :  
   -Xms256M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=128M        

(3)在Eclilpse中修改啟動參數,在VM arguments 加入了-Xms128m -Xmx512m,設定如所示(這是針對所有的工程進行的配置,即對本eclipse下的JDK進行的配置) windows --》 preferences  --》 JDK


問題解決。


下面的是針對某一個工程進行的配置  右擊工程 --》 runconfig  --》 Arguments,僅僅針對這一個工程。


(4)問題的解決方案,遇到錯誤不要緊,關鍵是要心平氣和的解決。感覺如今的最大收穫就是它 了,遇到錯誤不在慌張不在浮躁不在無從下手,而是一步一步的調試,逐一的解決問題。不知道這算不算一種成長。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.