<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ù)里設(shè)置jvm大小,因為eclipse運行時自己也需要jvm,所以eclipse.ini里設(shè)置的jvm大小不是具體某個程序運行時所用jvm的大小,這和具體程序運行的jvm大小無關(guān)。 
      
      那么怎么才能設(shè)置某個程序的jvm大小呢(當然控制臺運行的話不會存在這個問題,如:java -Xms256m -Xmx1024m classname,這樣就可以把當前程序的jvm大小給設(shè)定)? 
      
      因為eclipse里默認的一個程序的jvm配置為:-Xms8m -Xmx128m,所以我們的處理耗內(nèi)存比較大時需要手動調(diào)整一下,以便不會內(nèi)存溢出。具體的設(shè)置方法為: 
      
      選中被運行的類,點擊菜單‘run->run...’,選擇(x)=Argument標簽頁下的vm arguments框里輸入 -Xmx512m, 保存運行就ok了 
      二、
      
      在你的TOMCAT->右擊->OPEN->在SERVER OVERVIEW 中General 中 Open launch configurtion 單擊—>選擇Argument 把默認設(shè)置去掉,在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服務(wù)器對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服務(wù)器如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進行清理,所以如果你的應(yīng)用中有很多CLASS的話,就很可能出現(xiàn)PermGen space錯誤,
      這種錯誤常見在web服務(wù)器對JSP進行pre compile的時候。如果你的WEB APP下都用了大量的第三方j(luò)ar, 其大小
      超過了jvm默認的大小(4M)那么就會產(chǎn)生此錯誤信息了。
      解決方法: 手動設(shè)置MaxPermSize大小
      
      修改TOMCAT_HOME/bin/catalina.sh
      在“echo “Using CATALINA_BASE: $CATALINA_BASE””上面加入以下行:
      JAVA_OPTS=”-server -XX:PermSize=64M -XX:MaxPermSize=128m
      建議:將相同的第三方j(luò)ar文件移置到tomcat/shared/lib目錄下,這樣可以達到減少jar 文檔重復(fù)占用內(nèi)存的目的。
      
      二、java.lang.OutOfMemoryError: Java heap space
      Heap size 設(shè)置
      JVM堆的設(shè)置是指java程序運行過程中JVM可以調(diào)配使用的內(nèi)存空間的設(shè)置.JVM在啟動的時候會自動設(shè)置Heap size的值,
      其初始空間(即-Xms)是物理內(nèi)存的1/64,最大空間(-Xmx)是物理內(nèi)存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等選項可
      進行設(shè)置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
      提示:在JVM中如果98%的時間是用于GC且可用的Heap size 不足2%的時候?qū)伋龃水惓P畔ⅰ?/span>
      提示:Heap Size 最大不要超過可用物理內(nèi)存的80%,一般的要將-Xms和-Xmx選項設(shè)置為相同,而-Xmn為1/4的-Xmx值。
      解決方法:手動設(shè)置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ù)設(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性能高時此值應(yīng)設(shè)的大一些
      -Xmx:java heap最大值,使用的最大內(nèi)存
      上面兩個值是分配JVM的最小和最大內(nèi)存,取決于硬件物理內(nèi)存的大小,建議均設(shè)為物理內(nèi)存的一半。-XX:PermSize:設(shè)定內(nèi)存的永久保存區(qū)域
      -XX:MaxPermSize:設(shè)定最大內(nèi)存的永久保存區(qū)域
      -XX:MaxNewSize:
      -Xss 15120 這使得JBoss每增加一個線程(thread)就會立即消耗15M內(nèi)存,而最佳值應(yīng)該是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大小,一般設(shè)置為Xmx的3、4分之一
      -XX:+UseParNewGC :縮短minor收集的時間
      -XX:+UseConcMarkSweepGC :縮短major收集的時間
      提示:此選項在Heap Size 比較大而且Major收集時間較長的情況下使用更合適。
      
      穩(wěn)定的開發(fā)架構(gòu)環(huán)境下,建議出一份有實踐、經(jīng)驗論證的JAVA_OPTS配置,能夠非常切合實際的服務(wù)于當前開發(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ù)  更多評論
      


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲第一精品福利| 午夜国产大片免费观看| 亚洲午夜福利717| 国产精品免费看久久久香蕉| 国产精品成人无码免费| 日韩精品亚洲专区在线影视 | 国产99视频精品免费专区| 久久亚洲中文字幕精品一区四| 免费很黄无遮挡的视频毛片| 可以免费观看的一级毛片| 无遮挡a级毛片免费看| 亚洲国产成人久久综合区| 成人a毛片视频免费看| 亚洲中文字幕无码不卡电影| 国产免费拔擦拔擦8X高清在线人| 国产亚洲成av人片在线观看| 无码AV片在线观看免费| 67pao强力打造67194在线午夜亚洲| 91av视频免费在线观看| 亚洲三级视频在线观看 | 亚洲区不卡顿区在线观看| www.xxxx.com日本免费| 亚洲av中文无码乱人伦在线r▽| 日日麻批免费40分钟无码| 亚洲一级毛片在线播放| 在线免费观看国产视频| www免费插插视频| 色拍自拍亚洲综合图区| 免费做爰猛烈吃奶摸视频在线观看 | 美女尿口扒开图片免费| 亚洲三区在线观看无套内射| 8888四色奇米在线观看免费看| 亚洲制服丝袜第一页| 哒哒哒免费视频观看在线www| a毛看片免费观看视频| xxx毛茸茸的亚洲| 亚洲av日韩av欧v在线天堂| 免费人妻无码不卡中文字幕系| 中文文字幕文字幕亚洲色| 国产成人亚洲精品影院| av无码免费一区二区三区|