jvm參數(shù)匯總

java虛擬機(jī)參數(shù)-X 與 -XX的區(qū)別

  • Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the JDK.
    以 -X 開(kāi)頭的是非標(biāo)準(zhǔn)選項(xiàng)(不能保證被所有的 JVM 實(shí)現(xiàn)都支持),如果在后續(xù)版本的 JDK 中有變更恕不另行通知。
  • Options that are specified with -XX are not stable and are not recommended for casual use. These options are subject to change without notice.
    指定 -XX 的選項(xiàng)是不穩(wěn)定、不建議隨便使用的。這些選項(xiàng)在今后變更恕不另行通知。

參數(shù)匯總

參數(shù)名稱(chēng) 含義 默認(rèn)值 描述
-Xms 初始堆大小 物理內(nèi)存的1/64(<1GB) 默認(rèn)(MinHeapFreeRatio參數(shù)可以調(diào)整)空余堆內(nèi)存小于40%時(shí),JVM就會(huì)增大堆直到-Xmx的最大限制.
-Xmx 最大堆大小 物理內(nèi)存的1/4(<1GB) 默認(rèn)(MaxHeapFreeRatio參數(shù)可以調(diào)整)空余堆內(nèi)存大于70%時(shí),JVM會(huì)減少堆直到 -Xms的最小限制
-Xmn 年輕代大小(1.4or lator) 注意:此處的大小是(eden+ 2 survivor space).與jmap -heap中顯示的New gen是不同的。整個(gè)堆大小=年輕代大小 + 年老代大小 + 持久代大小.增大年輕代后,將會(huì)減小年老代大小.此值對(duì)系統(tǒng)性能影響較大,Sun官方推薦配置為整個(gè)堆的3/8
-XX:NewSize 設(shè)置年輕代大小(for 1.3/1.4) --
-XX:PermSize 設(shè)置持久代(perm gen)初始值 物理內(nèi)存的1/64 --
-XX:MaxPermSize 設(shè)置持久代最大值 物理內(nèi)存的1/4 大部分情況下默認(rèn)值是64M
-Xss 每個(gè)線(xiàn)程的堆棧大小 物理內(nèi)存的1/4 JDK5.0以后每個(gè)線(xiàn)程堆棧大小為1M,以前每個(gè)線(xiàn)程堆棧大小為256K.更具應(yīng)用的線(xiàn)程所需內(nèi)存大小進(jìn)行 調(diào)整.在相同物理內(nèi)存下,減小這個(gè)值能生成更多的線(xiàn)程.但是操作系統(tǒng)對(duì)一個(gè)進(jìn)程內(nèi)的線(xiàn)程數(shù)還是有限制的,不能無(wú)限生成,經(jīng)驗(yàn)值在3000~5000左右。一般小的應(yīng)用, 如果棧不是很深, 應(yīng)該是128k夠用的 大的應(yīng)用建議使用256k。這個(gè)選項(xiàng)對(duì)性能影響比較大,需要嚴(yán)格的測(cè)試。(校長(zhǎng))和threadstacksize選項(xiàng)解釋很類(lèi)似,官方文檔似乎沒(méi)有解釋,在論壇中有這樣一句話(huà):"”-Xss is translated in a VM flag named ThreadStackSize” 一般設(shè)置這個(gè)值就可以了。
-XX:NewRatio 年輕代(包括Eden和兩個(gè)Survivor區(qū))與年老代的比值(除去持久代) -XX:NewRatio=4表示年輕代與年老代所占比值為1:4,年輕代占整個(gè)堆棧的1/5。Xms=Xmx并且設(shè)置了Xmn的情況下,該參數(shù)不需要進(jìn)行設(shè)置。
-XX:SurvivorRatio Eden區(qū)與Survivor區(qū)的大小比值 設(shè)置為8,則兩個(gè)Survivor區(qū)與一個(gè)Eden區(qū)的比值為2:8,一個(gè)Survivor區(qū)占整個(gè)年輕代的1/10
-XX:+UseFastAccessorMethods 原始類(lèi)型的快速優(yōu)化 --
-XX:+DisableExplicitGC 關(guān)閉System.gc() 默認(rèn)關(guān)閉 忽略來(lái)自System.gc()方法觸發(fā)的垃圾收集器
-XX:MaxTenuringThreshold 默認(rèn)15 晉升到老年代的對(duì)象年齡。每個(gè)對(duì)象在堅(jiān)持過(guò)一次Minor GC后,年齡就增加1,當(dāng)超過(guò)這個(gè)參數(shù)值就進(jìn)入老年代
-XX:PretenureSizeThreshold 對(duì)象超過(guò)多大是直接在舊生代分配 單位字節(jié) 新生代采用Parallel Scavenge GC時(shí)無(wú)效。另一種直接在舊生代分配的情況是大的數(shù)組對(duì)象,且數(shù)組中無(wú)外部引用對(duì)象.

收集器相關(guān)參數(shù)

參數(shù)名稱(chēng) 含義 默認(rèn)值 描述
-XX:+UseParallelGC -- Server模式下虛擬機(jī)默認(rèn)開(kāi)啟,其他模式關(guān)閉 虛擬機(jī)運(yùn)行在server模式下的默認(rèn)值,打開(kāi)后,使用Parallel Scavenge+Serial Old的收集器組合進(jìn)行內(nèi)存回收
-XX:+UseParNewGC 設(shè)置年輕代為并行收集 ----------- 可與CMS收集同時(shí)使用。JDK5.0以上,JVM會(huì)根據(jù)系統(tǒng)配置自行設(shè)置,所以無(wú)需再設(shè)置此值
-XX:ParallelGCThreads 并行收集器的線(xiàn)程數(shù) ----------- 此值最好配置與處理器數(shù)目相等 同樣適用于CMS
-XX:+UseParallelOldGC 年老代垃圾收集方式為并行收集(Parallel Compacting) ----------- 打開(kāi)此開(kāi)關(guān)后,使用Parallel Scavenge+Parallel Old的收集器組合進(jìn)行垃圾內(nèi)存回收
-XX:MaxGCPauseMillis 每次年輕代垃圾回收的最長(zhǎng)時(shí)間(最大暫停時(shí)間) 如果無(wú)法滿(mǎn)足此時(shí)間,JVM會(huì)自動(dòng)調(diào)整年輕代大小,以滿(mǎn)足此值.
-XX:+UseAdaptiveSizePolicy 自動(dòng)選擇年輕代區(qū)大小和相應(yīng)的Survivor區(qū)比例 設(shè)置此選項(xiàng)后,并行收集器會(huì)自動(dòng)選擇年輕代區(qū)大小和相應(yīng)的Survivor區(qū)比例,以達(dá)到目標(biāo)系統(tǒng)規(guī)定的最低相應(yīng)時(shí)間或者收集頻率等,此值建議使用并行收集器時(shí),一直打開(kāi).
-XX:GCTimeRatio 設(shè)置垃圾回收時(shí)間占程序運(yùn)行時(shí)間的百分比 公式為1/(1+n)

CMS相關(guān)參數(shù)

參數(shù)名稱(chēng) 含義 默認(rèn)值 描述
-XX:+UseConcMarkSweepGC 使用CMS內(nèi)存收集 默認(rèn)關(guān)閉 -------
-XX:+AggressiveHeap 試圖是使用大量的物理內(nèi)存。長(zhǎng)時(shí)間大內(nèi)存使用的優(yōu)化,能檢查計(jì)算資源(內(nèi)存, 處理器數(shù)量)。至少需要256MB內(nèi)存。大量的CPU/內(nèi)存, (在1.4.1在4CPU的機(jī)器上已經(jīng)顯示有提升)
-XX:CMSFullGCsBeforeCompaction 多少次后進(jìn)行內(nèi)存壓縮 由于并發(fā)收集器不對(duì)內(nèi)存空間進(jìn)行壓縮,整理,所以運(yùn)行一段時(shí)間以后會(huì)產(chǎn)生"碎片",使得運(yùn)行效率降低.此值設(shè)置運(yùn)行多少次GC以后對(duì)內(nèi)存空間進(jìn)行壓縮,整理.
-XX+UseCMSCompactAtFullCollection 在FULL GC的時(shí)候, 對(duì)年老代的壓縮 -- CMS是不會(huì)移動(dòng)內(nèi)存的, 因此, 這個(gè)非常容易產(chǎn)生碎片, 導(dǎo)致內(nèi)存不夠用, 因此, 內(nèi)存的壓縮這個(gè)時(shí)候就會(huì)被啟用。 增加這個(gè)參數(shù)是個(gè)好習(xí)慣??赡軙?huì)影響性能,但是可以消除碎片
-XX:+CMSParallelRemarkEnabled 降低標(biāo)記停頓 --- -------
-XX:+UseCMSInitiatingOccupancyOnly 使用手動(dòng)定義初始化定義開(kāi)始CMS收集 --- 禁止hostspot自行觸發(fā)CMS GC

輔助信息

參數(shù)名稱(chēng) 含義 默認(rèn)值 描述
-XX:+PrintGC -- -- 輸出形式:[GC 118250K->113543K(130112K), 0.0094143 secs][Full GC 121376K->10414K(130112K), 0.0650971 secs]
-XX:+PrintGCDetails -- -- --
-XX:+PrintGCTimeStamps -- -- --
-XX:+PrintGC:PrintGCTimeStamps -- -- 可與-XX:+PrintGC -XX:+PrintGCDetails混合使用輸出形式:11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]
-XX:+PrintGCApplicationStoppedTime 打印垃圾回收期間程序暫停的時(shí)間.可與上面混合使用 -- 輸出形式:Total time for which application threads were stopped: 0.0468229 seconds
-XX:+PrintGCApplicationConcurrentTime 打印每次垃圾回收前,程序未中斷的執(zhí)行時(shí)間.可與上面混合使用 -- 輸出形式:Application time: 0.5291524 seconds
-XX:+PrintHeapAtGC 打印GC前后的詳細(xì)堆棧信息 -- --
-Xloggc:filename 把相關(guān)日志信息記錄到文件以便分析.與上面幾個(gè)配合使用 -- --
-XX:+PrintClassHistogram -- -- --
-XX:+PrintTLAB 查看TLAB空間的使用情況 -- --
XX:+PrintTenuringDistribution 查看每次minor GC后新的存活周期的閾值 -- Desired survivor size 1048576 bytes, new threshold 7 (max 15)。new threshold 7即標(biāo)識(shí)新的存活周期的閾值為7
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,854評(píng)論 0 10
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,246評(píng)論 0 38
  • 交互設(shè)計(jì)的對(duì)象:行為的設(shè)計(jì) 設(shè)計(jì)在傳統(tǒng)意義上一般被理解為造物,也就是對(duì)物的設(shè)計(jì)。交互設(shè)計(jì)則不同,是在創(chuàng)造“行為”,...
    LynnC_筱琳閱讀 6,208評(píng)論 0 52
  • 所謂“三日不讀書(shū)便覺(jué)面目可憎”,趁著假期開(kāi)始稍有空閑,要給自己補(bǔ)補(bǔ)課,通過(guò)前賢的教誨,想想大學(xué)和學(xué)術(shù)研究的一些問(wèn)題...
    吳昱則剛閱讀 1,102評(píng)論 5 11
  • 忘了哪一年開(kāi)始,每到這個(gè)季節(jié),我的家鄉(xiāng)名字都會(huì)在網(wǎng)絡(luò)電視各種新聞中上榜,然而并不是什么值得自豪的事。 小霾轉(zhuǎn)大霾,...
    蘇麗珍閱讀 273評(píng)論 0 0

友情鏈接更多精彩內(nèi)容