<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
     eclipse 有啟動參數(shù)里設置jvm大小,因為eclipse運行時自己也需要jvm,所以eclipse.ini里設置的jvm大小不是具體某個程序運行時所用jvm的大小,這和具體程序運行的jvm大小無關。 
      
      那么怎么才能設置某個程序的jvm大小呢(當然控制臺運行的話不會存在這個問題,如:java -Xms256m -Xmx1024m classname,這樣就可以把當前程序的jvm大小給設定)? 
      
      因為eclipse里默認的一個程序的jvm配置為:-Xms8m -Xmx128m,所以我們的處理耗內(nèi)存比較大時需要手動調(diào)整一下,以便不會內(nèi)存溢出。具體的設置方法為: 
      
      選中被運行的類,點擊菜單‘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
      
       
      
      1、
      PermGen space的全稱是Permanent Generation space,是指內(nèi)存的永久保存區(qū)域OutOfMemoryError: PermGen space從表面上看就是內(nèi)存益出,解決方法也一定是加大內(nèi)存。說說為什么會內(nèi)存益出:這一部分用于存放Class和Meta的信息,Class在被 Load的時候被放入PermGen space區(qū)域,它和和存放Instance的Heap區(qū)域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現(xiàn)PermGen space錯誤。這種錯誤常見在web服務器對JSP進行pre compile的時候。
      
      改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
      2、
      
      在tomcat中redeploy時出現(xiàn)outofmemory的錯誤.
      
      可以有以下幾個方面的原因:
      
      1,使用了proxool,因為proxool內(nèi)部包含了一個老版本的cglib.
      
      2, log4j,最好不用,只用common-logging
      
      3, 老版本的cglib,快點更新到最新版。
      
      4,更新到最新的hibernate3.2
      3、
      
      這里以tomcat環(huán)境為例,其它WEB服務器如jboss,weblogic等是同一個道理。
      一、java.lang.OutOfMemoryError: PermGen space
      PermGen space的全稱是Permanent Generation space,是指內(nèi)存的永久保存區(qū)域,
      這塊內(nèi)存主要是被JVM存放Class和Meta信息的,Class在被Loader時就會被放到PermGen space中,
      它和存放類實例(Instance)的Heap區(qū)域不同,GC(Garbage Collection)不會在主程序運行期對
      PermGen space進行清理,所以如果你的應用中有很多CLASS的話,就很可能出現(xiàn)PermGen space錯誤,
      這種錯誤常見在web服務器對JSP進行pre compile的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小
      超過了jvm默認的大小(4M)那么就會產(chǎn)生此錯誤信息了。
      解決方法: 手動設置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 文檔重復占用內(nèi)存的目的。
      
      二、java.lang.OutOfMemoryError: Java heap space
      Heap size 設置
      JVM堆的設置是指java程序運行過程中JVM可以調(diào)配使用的內(nèi)存空間的設置.JVM在啟動的時候會自動設置Heap size的值,
      其初始空間(即-Xms)是物理內(nèi)存的1/64,最大空間(-Xmx)是物理內(nèi)存的1/4??梢岳肑VM提供的-Xmn -Xms -Xmx等選項可
      進行設置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
      提示:在JVM中如果98%的時間是用于GC且可用的Heap size 不足2%的時候將拋出此異常信息。
      提示:Heap Size 最大不要超過可用物理內(nèi)存的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內(nèi)存環(huán)境下java jvm 的參數(shù)設置參考:
      
      JAVA_OPTS=”-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true ”
      
       
      
      經(jīng)過查找資料,先看下JAVA_OPTS參數(shù)表示的意義。 
      
      -server:一定要作為第一個參數(shù),在多個CPU時性能佳
      -Xms:初始Heap大小,使用的最小內(nèi)存,cpu性能高時此值應設的大一些
      -Xmx:java heap最大值,使用的最大內(nèi)存
      上面兩個值是分配JVM的最小和最大內(nèi)存,取決于硬件物理內(nèi)存的大小,建議均設為物理內(nèi)存的一半。-XX:PermSize:設定內(nèi)存的永久保存區(qū)域
      -XX:MaxPermSize:設定最大內(nèi)存的永久保存區(qū)域
      -XX:MaxNewSize:
      -Xss 15120 這使得JBoss每增加一個線程(thread)就會立即消耗15M內(nèi)存,而最佳值應該是128K,默認值好像是512k.
      +XX:AggressiveHeap 會使得 Xms沒有意義。這個參數(shù)讓jvm忽略Xmx參數(shù),瘋狂地吃完一個G物理內(nèi)存,再吃盡一個G的swap。
      -Xss:每個線程的Stack大小
      -verbose:gc 現(xiàn)實垃圾收集信息
      -Xloggc:gc.log 指定垃圾收集日志文件
      -Xmn:young generation的heap大小,一般設置為Xmx的3、4分之一
      -XX:+UseParNewGC :縮短minor收集的時間
      -XX:+UseConcMarkSweepGC :縮短major收集的時間
      提示:此選項在Heap Size 比較大而且Major收集時間較長的情況下使用更合適。
      
      穩(wěn)定的開發(fā)架構環(huán)境下,建議出一份有實踐、經(jīng)驗論證的JAVA_OPTS配置,能夠非常切合實際的服務于當前開發(fā)、測試的軟件流程。
      
    posted on 2012-11-13 14:14 abin 閱讀(23454) 評論(1)  編輯  收藏 所屬分類: eclipse

    Feedback

    # re: eclipse java.lang.OutOfMemoryError: Java heap space 2014-11-17 14:53 我是小明
    解決問題了。。非常感謝  回復  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲一区在线免费观看| 亚洲国产高清在线一区二区三区| 亚洲国产精品成人精品无码区 | 国偷自产一区二区免费视频| AV在线播放日韩亚洲欧| 无套内射无矿码免费看黄| 免费中文字幕在线| 男女男精品网站免费观看| 在线观看亚洲成人| 日韩av无码免费播放| 18禁美女黄网站色大片免费观看 | 精品国产免费观看| 小说专区亚洲春色校园| 亚洲精品成人片在线观看| 亚洲日韩在线观看免费视频| 亚洲无码在线播放| 97在线视频免费播放| 亚洲av产在线精品亚洲第一站| 毛片免费观看网址| 小说区亚洲自拍另类| 亚洲精品亚洲人成人网| 久久精品视频免费播放| 亚洲精品亚洲人成在线观看麻豆 | 无码乱人伦一区二区亚洲一| 日本人的色道免费网站| 亚洲人成电影网站免费| 亚洲视频在线一区二区| 女人体1963午夜免费视频| 亚洲av乱码一区二区三区| 特级淫片国产免费高清视频| 中文字幕av无码不卡免费| 亚洲一卡2卡4卡5卡6卡残暴在线| 精品久久久久久久免费加勒比| 九九免费观看全部免费视频| 亚洲精品视频免费在线观看| 日本高清免费网站| 免费污视频在线观看| 亚洲精品国产suv一区88| 亚洲熟妇无码另类久久久| 免费视频专区一国产盗摄| 一区视频免费观看|