日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

eclipse init 配置

發(fā)布時間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 eclipse init 配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

--設(shè)置最大的堆和最小堆大小.兩者一樣表示固定大小.這樣可以防止老年代內(nèi)存擴展造成額外的gc.當(dāng)然也會多占一些內(nèi)存.系統(tǒng)內(nèi)存不足的慎用

-Xms512m

-Xmx512m

--加大年輕代內(nèi)存.減少minor gc

-Xmn164m

--這個是永久代大小.默認是64M,增加到96M.固定大小,減少擴展造成的gc

-XX:PermSize=96m

-XX:MaxPermSize=96m

--去除字節(jié)碼驗證

-Xverify:none

--屏蔽顯示調(diào)用gc.

-XX:+DisableExplicitGC

--關(guān)閉類垃圾回收,就可以消除由于多次裝入和卸裝同一個類而造成的開銷

-Xnoclassgc

--指定最適合多任務(wù)并行的CMS垃圾收集器

-XX:+UseParNewGC

-XX:+UseConcMarkSweepGC

--修改默認的觸發(fā)老年代full gc的內(nèi)存所占比..改成85%

-XX:CMSInitiatingOccupancyFraction=85

[plain]?view plain?copy
  • #?我的配置.??
  • -vm??
  • -C:\Java\jdk1.6.0_30\bin\javaw.exe??
  • -startup??
  • plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar??
  • --launcher.library??
  • plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810??
  • -product??
  • org.eclipse.epp.package.jee.product??
  • --launcher.defaultAction??
  • openFile??
  • --launcher.XXMaxPermSize??
  • 128M??
  • -showsplash??
  • org.eclipse.platform??
  • --launcher.XXMaxPermSize??
  • 128m??
  • --launcher.defaultAction??
  • openFile??
  • -vmargs??
  • -Dosgi.requiredJavaVersion=1.5??
  • -Xverify:none??
  • -XX:+DisableExplicitGC??
  • -Xms512M??
  • -Xmx512M??
  • -Xmn164m??
  • -XX:PermSize=96m??
  • -XX:MaxPermSize=96m??
  • -XX:+UseParallelGC??
  • -XX:CMSInitiatingOccupancyFraction=85??

  • ?

    ?

    轉(zhuǎn)自:?http://blog.chinaunix.net/space.php?uid=10178376&do=blog&id=100985

    -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M?
    這里有幾個問題:
    1. 各個參數(shù)的含義什么?
    2. 為什么有的機器我將-Xmx和-XX:MaxPermSize都設(shè)置為512M之后Eclipse可以啟動,而有些機器無法啟動?
    3. 為何將上面的參數(shù)寫入到eclipse.ini文件Eclipse沒有執(zhí)行對應(yīng)的設(shè)置?

    下面我們一一進行回答

    1. 各個參數(shù)的含義什么?

    參數(shù)中-vmargs的意思是設(shè)置JVM參數(shù),所以后面的其實都是JVM的參數(shù)了,我們首先了解一下JVM內(nèi)存管理的機制,然后再解釋每個參數(shù)代表的含義。

    堆(Heap)和非堆(Non-heap)內(nèi)存
    按照官方的說法:“Java 虛擬機具有一個堆,堆是運行時數(shù)據(jù)區(qū)域,所有類實例和數(shù)組的內(nèi)存均從此處分配。堆是在 Java 虛擬機啟動時創(chuàng)建的。”“在JVM中堆之外的內(nèi)存稱為非堆內(nèi)存(Non-heap memory)”??梢钥闯鯦VM主要管理兩種類型的內(nèi)存:堆和非堆。簡單來說堆就是Java代碼可及的內(nèi)存,是留給開發(fā)人員使用的;非堆就是JVM留給自己用的,所以方法區(qū)、JVM內(nèi)部處理或優(yōu)化所需的內(nèi)存(如JIT編譯后的代碼緩存)、每個類結(jié)構(gòu)(如運行時常數(shù)池、字段和方法數(shù)據(jù))以及方法和構(gòu)造方法的代碼都在非堆內(nèi)存中。?
    堆內(nèi)存分配
    JVM初始分配的內(nèi)存由-Xms指定,默認是物理內(nèi)存的1/64;JVM最大分配的內(nèi)存由-Xmx指定,默認是物理內(nèi)存的1/4。默認空余堆內(nèi)存小于40%時,JVM就會增大堆直到-Xmx的最大限制;空余堆內(nèi)存大于70%時,JVM會減少堆直到 -Xms的最小限制。因此服務(wù)器一般設(shè)置-Xms、-Xmx相等以避免在每次GC 后調(diào)整堆的大小。?
    非堆內(nèi)存分配
    JVM使用-XX:PermSize設(shè)置非堆內(nèi)存初始值,默認是物理內(nèi)存的1/64;由XX:MaxPermSize設(shè)置最大非堆內(nèi)存的大小,默認是物理內(nèi)存的1/4。?
    JVM內(nèi)存限制(最大值)
    首先JVM內(nèi)存限制于實際的最大物理內(nèi)存(廢話!呵呵),假設(shè)物理內(nèi)存無限大的話,JVM內(nèi)存的最大值跟操作系統(tǒng)有很大的關(guān)系。簡單的說就32位處理器雖然可控內(nèi)存空間有4GB,但是具體的操作系統(tǒng)會給一個限制,這個限制一般是2GB-3GB(一般來說Windows系統(tǒng)下為1.5G-2G,Linux系統(tǒng)下為2G-3G),而64bit以上的處理器就不會有限制了。?
    2. 為什么有的機器我將-Xmx和-XX:MaxPermSize都設(shè)置為512M之后Eclipse可以啟動,而有些機器無法啟動?

    通過上面對JVM內(nèi)存管理的介紹我們已經(jīng)了解到JVM內(nèi)存包含兩種:堆內(nèi)存和非堆內(nèi)存,另外JVM最大內(nèi)存首先取決于實際的物理內(nèi)存和操作系統(tǒng)。所以說設(shè)置VM參數(shù)導(dǎo)致程序無法啟動主要有以下幾種原因:

    1) 參數(shù)中-Xms的值大于-Xmx,或者-XX:PermSize的值大于-XX:MaxPermSize;

    2) -Xmx的值和-XX:MaxPermSize的總和超過了JVM內(nèi)存的最大限制,比如當(dāng)前操作系統(tǒng)最大內(nèi)存限制,或者實際的物理內(nèi)存等等。說到實際物理內(nèi)存這里需要說明一點的是,如果你的內(nèi)存是1024MB,但實際系統(tǒng)中用到的并不可能是1024MB,因為有一部分被硬件占用了。?

    3. 為何將上面的參數(shù)寫入到eclipse.ini文件Eclipse沒有執(zhí)行對應(yīng)的設(shè)置?

    那為什么同樣的參數(shù)在快捷方式或者命令行中有效而在eclipse.ini文件中是無效的呢?這是因為我們沒有遵守eclipse.ini文件的設(shè)置規(guī)則:

    參數(shù)形如“項 值”這種形式,中間有空格的需要換行書寫,如果值中有空格的需要用雙引號包括起來。比如我們使用-vm C:\Java\jre1.6.0\bin\javaw.exe參數(shù)設(shè)置虛擬機,在eclipse.ini文件中要寫成這樣:

    -vm?
    C:\Java\jre1.6.0\bin\javaw.exe?
    按照上面所說的,最后參數(shù)在eclipse.ini中可以寫成這個樣子:

    -vmargs?
    -Xms128M?
    -Xmx512M?
    -XX:PermSize=64M?
    -XX:MaxPermSize=128M?
    實際運行的結(jié)果可以通過Eclipse中“Help”-“About Eclipse SDK”窗口里面的“Configuration Details”按鈕進行查看。

    另外需要說明的是,Eclipse壓縮包中自帶的eclipse.ini文件內(nèi)容是這樣的:

    -showsplash?
    org.eclipse.platform?
    --launcher.XXMaxPermSize?
    256m?
    -vmargs?
    -Xms40m?
    -Xmx256m?
    其中–launcher.XXMaxPermSize(注意最前面是兩個連接線)跟-XX:MaxPermSize參數(shù)的含義基本是一樣的,我覺得唯一的區(qū)別就是前者是eclipse.exe啟動的時候設(shè)置的參數(shù),而后者是eclipse所使用的JVM中的參數(shù)。其實二者設(shè)置一個就可以了,所以這里可以把 –launcher.XXMaxPermSize和下一行使用#注釋掉。?

    3. 其他的啟動參數(shù)。 如果你有一個雙核的CPU,也許可以嘗試這個參數(shù):

    -XX:+UseParallelGC

    讓GC可以更快的執(zhí)行。(只是JDK 5里對GC新增加的參數(shù))

    ?

    ?

    堆大小設(shè)置
    JVM 中最大堆大小有三方面限制:相關(guān)操作系統(tǒng)的數(shù)據(jù)模型(32-bt還是64-bit)限制;系統(tǒng)的可用虛擬內(nèi)存限制;系統(tǒng)的可用物理內(nèi)存限制。32位系統(tǒng)下,一般限制在1.5G~2G;64為操作系統(tǒng)對內(nèi)存無限制。我在Windows Server 2003 系統(tǒng),3.5G物理內(nèi)存,JDK5.0下測試,最大可設(shè)置為1478m。
    典型設(shè)置:
    java -Xmx3550m -Xms3550m -Xmn2g -Xss128k
    -Xmx3550m:設(shè)置JVM最大可用內(nèi)存為3550M。
    -Xms3550m:設(shè)置JVM促使內(nèi)存為3550m。此值可以設(shè)置與-Xmx相同,以避免每次垃圾回收完成后JVM重新分配內(nèi)存。
    -Xmn2g:設(shè)置年輕代大小為2G。整個堆大小=年輕代大小 + 年老代大小 + 持久代大小。持久代一般固定大小為64m,所以增大年輕代后,將會減小年老代大小。此值對系統(tǒng)性能影響較大,Sun官方推薦配置為整個堆的3/8。
    -Xss128k:設(shè)置每個線程的堆棧大小。JDK5.0以后每個線程堆棧大小為1M,以前每個線程堆棧大小為256K。更具應(yīng)用的線程所需內(nèi)存大小進行調(diào)整。在相同物理內(nèi)存下,減小這個值能生成更多的線程。但是操作系統(tǒng)對一個進程內(nèi)的線程數(shù)還是有限制的,不能無限生成,經(jīng)驗值在3000~5000左右。
    java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0
    -XX:NewRatio=4:設(shè)置年輕代(包括Eden和兩個Survivor區(qū))與年老代的比值(除去持久代)。設(shè)置為4,則年輕代與年老代所占比值為1:4,年輕代占整個堆棧的1/5
    -XX:SurvivorRatio=4:設(shè)置年輕代中Eden區(qū)與Survivor區(qū)的大小比值。設(shè)置為4,則兩個Survivor區(qū)與一個Eden區(qū)的比值為2:4,一個Survivor區(qū)占整個年輕代的1/6
    -XX:MaxPermSize=16m:設(shè)置持久代大小為16m。
    -XX:MaxTenuringThreshold=0:設(shè)置垃圾最大年齡。如果設(shè)置為0的話,則年輕代對象不經(jīng)過Survivor區(qū),直接進入年老代。對于年老代比較多的應(yīng)用,可以提高效率。如果將此值設(shè)置為一個較大值,則年輕代對象會在Survivor區(qū)進行多次復(fù)制,這樣可以增加對象再年輕代的存活時間,增加在年輕代即被回收的概論。
    回收器選擇
    JVM 給了三種選擇:串行收集器、并行收集器、并發(fā)收集器,但是串行收集器只適用于小數(shù)據(jù)量的情況,所以這里的選擇主要針對并行收集器和并發(fā)收集器。默認情況下,JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在啟動時加入相應(yīng)參數(shù)。JDK5.0以后,JVM會根據(jù)當(dāng)前系統(tǒng)配置進行判斷。
    吞吐量優(yōu)先的并行收集器
    如上文所述,并行收集器主要以到達一定的吞吐量為目標(biāo),適用于科學(xué)技術(shù)和后臺處理等。

    ?

    以下轉(zhuǎn)自:?http://www.oschina.net/question/12_11854

    A:JVM參數(shù)配置之heapsize

    -Xmx
    指定jvm的最大heap大小,如:-Xmx2g(千萬記住可是沒有等號的哦)

    -Xms
    指定jvm的最小heap大小,如:-Xms2g(千萬記住可是沒有等號的哦),高并發(fā)應(yīng)用,建議和-Xmx一樣,防止因為內(nèi)存收縮/突然增大帶來的性能影響,總之記住這遇見這兩值配一樣的數(shù)就OK。

    -Xmn
    指定jvm中NewGeneration的大小,如:-Xmn256m。這個參數(shù)會很影響性能的哦,所以要配置好,如果你的程序需要比較多的臨時內(nèi)存,建議設(shè)置到512M,如果用的少,盡量降低這個數(shù)值,一般來說128/256足以使用了,配置得小gc效率就越快,系統(tǒng)性能也就得到提高,一般情況下跟據(jù)系統(tǒng)配到能接受的下限就OK。

    -XX:PermSize=
    指定jvm中PermGeneration的最小值,如:-XX:PermSize=32m。這個參數(shù)需要看你的實際情況。在生產(chǎn)環(huán)境中這個參數(shù)得需調(diào)試著才能拿到最準值,往往在應(yīng)用中都會造成這一區(qū)域的內(nèi)存溢出。

    -XX:MaxPermSize=
    指定(永久代)PermGeneration的最大值,如:-XX:MaxPermSize=64m

    -Xss
    指定線程桟大小,如:-Xss128k,一般來說,webx框架下的應(yīng)用需要256K。如果你的程序有大規(guī)模的遞歸行為,請考慮設(shè)置到512K/1M。這個需要全面的測試才能知道。不過,256K已經(jīng)很大了。這個參數(shù)對性能的影響比較大的。分配得少也就意味著你能多弄幾個線程出來,但還是得根據(jù)你的應(yīng)用來拿拈了。

    -XX:NewRatio=
    指定jvm中OldGenerationheapsize與NewGeneration的比例,在使用CMSGC的情況下此參數(shù)失效,如:-XX:NewRatio=2

    -XX:SurvivorRatio=
    指定NewGeneration中EdenSpace與一個SurvivorSpace的heapsize比例,-XX:SurvivorRatio=8,那么在總共NewGeneration為10m的情況下,EdenSpace為8m

    -XX:MinHeapFreeRatio=
    指定jvmheap在使用率小于n的情況下,heap進行收縮,Xmx==Xms的情況下無效,如:-XX:MinHeapFreeRatio=30

    -XX:MaxHeapFreeRatio=
    指定jvmheap在使用率大于n的情況下,heap進行擴張,Xmx==Xms的情況下無效,如:-XX:MaxHeapFreeRatio=70

    -XX:LargePageSizeInBytes=
    指定Javaheap的分頁頁面大小,如:-XX:LargePageSizeInBytes=128m

    B:JVM參數(shù)配置garbagecollector

    -XX:+UseParallelGC
    指定在NewGeneration使用parallelcollector,并行收集,暫停appthreads,同時啟動多個垃圾回收thread,不能和CMSgc一起使用.系統(tǒng)噸吐量優(yōu)先,但是會有較長長時間的apppause,后臺系統(tǒng)任務(wù)可以使用此gc

    -XX:ParallelGCThreads=
    指定parallelcollection時啟動的thread個數(shù),默認是物理processor的個數(shù),

    -XX:+UseParallelOldGC
    指定在OldGeneration使用parallelcollector

    -XX:+UseParNewGC
    指定在NewGeneration使用parallelcollector,是UseParallelGC的gc的升級版本,有更好的性能或者優(yōu)點,可以和CMSgc一起使用

    -XX:+CMSParallelRemarkEnabled
    在使用UseParNewGC的情況下,盡量減少mark的時間

    -XX:+UseConcMarkSweepGC
    指定在OldGeneration使用concurrentcmarksweepgc,gcthread和appthread并行(在init-mark 和remark時pauseappthread).apppause時間較短,適合交互性強的系統(tǒng),如webserver

    -XX:+UseCMSCompactAtFullCollection
    在使用concurrentgc的情況下,防止memoryfragmention,對liveobject進行整理,使memory碎片減少

    -XX:CMSInitiatingOccupancyFraction=
    指示在oldgeneration在使用了n%的比例后,啟動concurrentcollector,默認值是68,如:-XX:CMSInitiatingOccupancyFraction=70?

    -XX:+UseCMSInitiatingOccupancyOnly
    指示只有在oldgeneration在使用了初始化的比例后concurrentcollector啟動收集

    C: 其他JVM參數(shù)配置

    -XX:MaxTenuringThreshold=
    指定一個對象(object)在經(jīng)歷了n次(新生代區(qū)里的GC)younggc后轉(zhuǎn)移到oldgeneration(老生代區(qū)),在linux64的java6下默認值是15,此參數(shù)對于throughputcollector無效,如:-XX:MaxTenuringThreshold=31

    -XX:+DisableExplicitGC
    禁止java程序中調(diào)用的fullgc,如System.gc()的調(diào)用。一般都會要配此參數(shù)以提高系統(tǒng)性能。

    -XX:+UseFastAccessorMethods
    把get,set方法轉(zhuǎn)成本地代碼


    -XX:+PrintGCDetails
    此參數(shù)用來打應(yīng)垃圾收集的詳細情況?

    -XX:+PrintGCTimeStamps
    打應(yīng)垃圾收集的時間分部情況?

    -XX:+PrintGCApplicationStoppedTime
    打應(yīng)垃圾收集時,GC時導(dǎo)致的系統(tǒng)停頓時間

    D:幾組GC對新舊代的回收方式列表:?

    指定方式????????????? ??????????????????????????????????? 新生代GC方式????????????? 舊生代GC方式

    ?

    -XX:+UseSerialGC???????????? ??????????????????????????? 串行GC???????????????????? 串行GC

    ?

    -XX:+UseParallelGC?????????? ? ? ? ? ? ? ? ? ? ? ? ? ? 并行回收GC???????????????? 并行GC

    ?

    -XX:+UseConeMarkSweepGC?? ? ? ? ? ? ? ? ? ?? 并行GC???????????????????? 并發(fā)GC

    ?

    -XX:+UseParNewGC?????????????????????????????????? 并行GC??????????????????? ??串行GC

    ?

    -XX:+UseParallelOldGC??????? ? ? ? ? ? ? ? ? ? ? ? 并行回收GC???????????????? 并行GC

    ?

    -XX:+ UseConeMarkSweepGC???????????????????

    -XX:+UseParNewGC?????????? ? ? ? ? ? ? ? ? ? ? ?? 串行GC???????????????????? 并發(fā)GC

    ?

    不支持的組合???????????????? 1、-XX:+UseParNewGC -XX:+UseParallelOldGC

    ??????????????????????????? ? ? ? ? 2、-XX:+UseParNewGC -XX:+UseSerialGC

    ?

    三種方式的拉圾回收總結(jié):

    串行收集:串行收集使用單線程處理所有垃圾回收工作,因為無需多線程交互,實現(xiàn)容易,而且效率比較高。但是,其局限性也比較明顯,即無法使用多處理器的優(yōu)勢,適合單處理器機器。

    ?

    并行收集:并行收集使用多線程處理垃圾回收工作,因而速度快,效率高。而且理論上CPU數(shù)目越多,就會越能體現(xiàn)出并行收集器的優(yōu)勢。

    ?

    并發(fā)收集:相對于串行收集和并行收集而言,前面兩個在進行垃圾回收工作時,需要暫停整個運行環(huán)境(即只有GC一個線程在跑,其它的弟兄們都得停下手頭上的活來等著這兄弟執(zhí)行完),因此,系統(tǒng)在垃圾回收時會有明顯的暫停,而且暫停時間會因為堆越大而越長。

    轉(zhuǎn)載于:https://www.cnblogs.com/ZRRJDD/p/8135127.html

    總結(jié)

    以上是生活随笔為你收集整理的eclipse init 配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 成人在线观 | 91激情影院 | 欧美性猛交久久久乱大交小说 | 在线免费观看国产精品 | 日韩a√ | 毛色毛片 | 国产精品亚洲天堂 | av片免费播放 | 麻豆国产一区二区 | 熟妇高潮精品一区二区三区 | 少妇人禽zoz0伦视频 | 日日天天干 | 伊人首页 | 最好看的日本字幕mv视频大全 | 涩涩精品 | 午夜视频在线观看一区 | 日日摸天天添天天添破 | 日韩一级片网站 | 精品国产乱码久久久久久1区二区 | 亚洲精品热| 成人黄色电影网址 | 欧美大片在线播放 | 看av网站| 天堂二区 | 免费黄色小视频在线观看 | 国产精品手机在线 | 国产成人精品一区二区在线观看 | 在线观看欧美精品 | 中文字幕无码精品亚洲35 | 国产日韩一级 | julia中文字幕在线 | 草比网站 | 色婷婷av一区 | 风流老熟女一区二区三区 | 九色91popny蝌蚪 | 校霸被c到爽夹震蛋上课高潮 | 日韩视频三区 | 男生和女生差差视频 | 粉嫩av.com | 91免费在线 | 中文字幕在线精品 | 欧美午夜性生活 | 欧美极品在线播放 | 久久亚洲av永久无码精品 | 久久亚洲一区二区 | 亚洲爽片 | 日韩国产欧美一区二区 | 中文字幕在线观看视频www | 午夜一二三区 | 国产女厕一区二区三区在线视 | 国产伦理一区二区 | 深夜在线 | 成人午夜激情影院 | 懂色视频在线观看 | 夜色综合网 | 国产精品久久久久久久久久久久午夜片 | 免费观看成年人网站 | 欧美一级片一区 | 午夜国产片 | 一本—道久久a久久精品蜜桃 | 毛片大全 | 日韩激情精品 | 一级黄色大片在线观看 | 国产精品一区二区在线 | 69xx视频在线观看 | 亚洲成人诱惑 | 五月激情综合婷婷 | 奇米精品一区二区三区在线观看一 | 欧美日韩人妻一区二区 | 999热精品 | 国产二区电影 | 成人动漫视频在线观看 | 在线观看免费国产视频 | 法国少妇愉情理伦片 | 92av视频 | 五十路六十路七十路熟婆 | 99综合网 | 色呦呦国产 | 一本色道久久hezyo无码 | 免费av毛片 | 不卡视频在线观看 | 日韩成人在线网站 | 嫩草影院在线视频 | 久久久久久亚洲精品中文字幕 | 一区二区三区在线视频播放 | 亚洲精品国产精品乱码视色 | 少妇高潮一69aⅹ | 色婷婷中文字幕 | 国产tv在线观看 | 中文字幕亚洲欧美日韩 | 国产永久av | 日本wwwxxxx| 精品亚洲乱码一区二区 | 精品乱子伦一区二区三区 | 亚洲爱| 色爱综合区 | 四虎影库永久在线 | 欧美日韩一二三四区 | 蜜芽一区二区 |