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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

jvm参数详解

發(fā)布時(shí)間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvm参数详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

內(nèi)存相關(guān)

選項(xiàng)參數(shù)詳解默認(rèn)值
-Xms初始堆大小--
-Xmx最大堆大小--
-Xmn年輕代大小(1.4or lator)整個(gè)JVM內(nèi)存大小=年輕代大小 + 年老代大小 + 持久代大小。持久代一般固定大小為64m,所以增大年輕代后,將會(huì)減小年老代大小。此值對系統(tǒng)性能影響較大,Sun官方推薦配置為整個(gè)堆的3/8--
-XX:newSize表示新生代初始內(nèi)存的大小,應(yīng)該小于 -Xms的值--
-XX:NewRatio設(shè)置年輕代和年老代的比值。如:為3,表示年輕代與年老代比值為1:3,年輕代占整個(gè)年輕代年老代和的1/4--
-XX:MaxNewSize年輕代最大值(for 1.3/1.4)--
-XX:PermSize設(shè)置持久代(perm gen)初始值--
-XX:MaxPermSize設(shè)置持久代最大值--
-Xss每個(gè)線程的堆棧大小--
-XX:ThreadStackSize----
-XX:SurvivorRatioEden區(qū)與Survivor區(qū)的大小比值, 設(shè)置為8,則兩個(gè)Survivor區(qū)與一個(gè)Eden區(qū)的比值為2:8,一個(gè)Survivor區(qū)占整個(gè)年輕代的1/10--
-XX:LargePageSizeInBytes內(nèi)存頁的大小不可設(shè)置過大, 會(huì)影響Perm的大小,基本沒用過--
-XX:+UseFastAccessorMethods原始類型的快速優(yōu)化 1.7以后不建議使用,1.6之前默認(rèn)打開的--
-XX:+UseFastEmptyMethods優(yōu)化空方法,1.7以后不建議使用,1.6之前默認(rèn)打開的--
-XX:+DisableExplicitGC關(guān)閉System.gc()--
-XX:MaxTenuringThreshold設(shè)置垃圾最大年齡。如果設(shè)置為0的話,則年輕代對象不經(jīng)過Survivor區(qū),直接進(jìn)入年老代。對于年老代比較多的應(yīng)用,可以提高效率。如果將此值設(shè)置為一個(gè)較大值,則年輕代對象會(huì)在Survivor區(qū)進(jìn)行多次復(fù)制,這樣可以增加對象再年輕代的存活時(shí)間,增加在年輕代即被回收的概率--
-XX:+AggressiveOpts加快編譯--
-XX:+UseBiasedLocking鎖機(jī)制的性能改善, 有偏見的鎖是使得鎖更偏愛上次使用到它線程。在非競爭鎖的場景下,即只有一個(gè)線程會(huì)鎖定對象,可以實(shí)現(xiàn)近乎無鎖的開銷。默認(rèn)開啟
-Xnoclassgc禁用類垃圾回收--
-XX:SoftRefLRUPolicyMSPerMB每兆堆空閑空間中SoftReference的存活時(shí)間默認(rèn)是1S
-XX:PretenureSizeThreshold對象超過多大是直接在舊生代分配,單位字節(jié) 新生代采用Parallel Scavenge GC時(shí)無效另一種直接在舊生代分配的情況是大的數(shù)組對象,且數(shù)組中無外部引用對象.--
-XX:+CollectGen0FirstFullGC時(shí)是否先YGCfalse

收集器相關(guān)

選項(xiàng)參數(shù)詳解默認(rèn)值
-XX:+UseParallelGC選擇垃圾收集器為并行收集器。此配置僅對年輕代有效。可以同時(shí)并行多個(gè)垃圾收集線程,但此時(shí)用戶線程必須停止。--
-XX:+UseParNewGC設(shè)置年輕代收集器ParNew--
-XX:ParallelGCThreadsParallel并行收集器的線程數(shù)--
-XX:+UseParallelOldGC設(shè)置老年代的并行收集器是ParallelOld--
-XX:+UseG1GC使用G1收集器--
-XX:MaxGCPauseMillis每次年輕代垃圾回收的最長時(shí)間(最大暫停時(shí)間)--
-XX:+UseAdaptiveSizePolicy設(shè)置此選項(xiàng)后,并行收集器會(huì)自動(dòng)選擇年輕代區(qū)大小和相應(yīng)的Survivor區(qū)比例,以達(dá)到目標(biāo)系統(tǒng)規(guī)定的最低相應(yīng)時(shí)間或者收集頻率等,此值建議使用并行收集器時(shí),一直打開.--
-XX:GCTimeRatio設(shè)置垃圾回收時(shí)間占程序運(yùn)行時(shí)間的,百分比公式為1/(1+n)--
-XX:+ScavengeBeforeFullGCFull GC前調(diào)用YGCtrue
-XX:+UseConcMarkSweepGC使用CMS內(nèi)存收集--
-XX:+AggressiveHeap試圖是使用大量的物理內(nèi)存長時(shí)間大內(nèi)存使用的優(yōu)化,能檢查計(jì)算資源(內(nèi)存, 處理器數(shù)量)至少需要256MB內(nèi)存大量的CPU/內(nèi)存, (在1.4.1在4CPU的機(jī)器上已經(jīng)顯示有提升)--
-XX:CMSFullGCsBeforeCompaction由于并發(fā)收集器不對內(nèi)存空間進(jìn)行壓縮,整理,所以運(yùn)行一段時(shí)間以后會(huì)產(chǎn)生"碎片",使得運(yùn)行效率降低.此值設(shè)置運(yùn)行多少次GC以后對內(nèi)存空間進(jìn)行壓縮,整理--
-XX:+CMSParallelRemarkEnabled降低CMS標(biāo)記停頓--
-XX+UseCMSCompactAtFullCollection在FULL GC的時(shí)候, 對年老代的壓縮,CMS是不會(huì)移動(dòng)內(nèi)存的, 因此, 這個(gè)非常容易產(chǎn)生碎片, 導(dǎo)致內(nèi)存不夠用, 因此, 內(nèi)存的壓縮這個(gè)時(shí)候就會(huì)被啟用。 增加這個(gè)參數(shù)是個(gè)好習(xí)慣。可能會(huì)影響性能,但是可以消除碎片--
-XX:+UseCMSInitiatingOccupancyOnly使用手動(dòng)定義初始化定義開始CMS收集,禁止hostspot自行觸發(fā)CMS GC--
-XX:CMSInitiatingOccupancyFraction=70使用cms作為垃圾回收使用70%后開始CMS收集--
-XX:CMSInitiatingPermOccupancyFraction設(shè)置Perm Gen使用到達(dá)多少比率時(shí)觸發(fā)--
-XX:+CMSIncrementalMode設(shè)置為增量模式--
-XX:CMSTriggerRatioCMSInitiatingOccupancyFraction = (100 - MinHeapFreeRatio) + (CMSTriggerRatio * MinHeapFreeRatio / 100) 處罰cms收集的比例--
-XX:MinHeapFreeRatiojava堆中空閑量占的最小比例--
-XX:+CMSClassUnloadingEnabled如果你啟用了CMSClassUnloadingEnabled ,垃圾回收會(huì)清理持久代,移除不再使用的classes。這個(gè)參數(shù)只有在 UseConcMarkSweepGC 也啟用的情況下才有用。參數(shù)如下:--

輔助信息

選項(xiàng)參數(shù)詳解默認(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:+PrintGCApplicationStoppedTime打印垃圾回收期間程序暫停的時(shí)間.可與上面混合使用--
-XX:+PrintGCApplicationConcurrentTime打印每次垃圾回收前,程序未中斷的執(zhí)行時(shí)間.可與上面混合使用--
-XX:+PrintHeapAtGC打印GC前后的詳細(xì)堆棧信息--
-Xloggc:filename把相關(guān)日志信息記錄到文件以便分析.與上面幾個(gè)配合使用--
-XX:+PrintClassHistogram遇到Ctrl-Break后打印類實(shí)例的柱狀信息,與jmap -histo功能相同--
-XX:+PrintTenuringDistribution查看每次minor GC后新的存活周期的閾值--
-XX:PrintHeapAtGC打印GC前后的詳細(xì)堆棧信息
from:?https://wangkang007.gitbooks.io/jvm/content/jvmcan_shu_xiang_jie.html

總結(jié)

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

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