JVM内存管理------垃圾搜集器参数精解
轉(zhuǎn)載自? ?JVM內(nèi)存管理------垃圾搜集器參數(shù)精解
垃圾搜集器選擇參數(shù)
?
? ? ? ? ??UseSerialGC:開(kāi)啟此參數(shù)使用serial & serial old搜集器(client模式默認(rèn)值)。
? ? ? ? ??UseParNewGC:開(kāi)啟此參數(shù)使用ParNew & serial old搜集器(不推薦)。
? ? ? ? ??UseConcMarkSweepGC:開(kāi)啟此參數(shù)使用ParNew & CMS(serial old為替補(bǔ))搜集器。
? ? ? ? ??UseParallelGC:開(kāi)啟此參數(shù)使用parallel scavenge & parallel old搜集器(server模式默認(rèn)值)。
? ? ? ? ??UseParallelOldGC:開(kāi)啟此參數(shù)在年老代使用parallel old搜集器(該參數(shù)在JDK1.5之后已無(wú)用)。
?
JVM各個(gè)內(nèi)存區(qū)域大小相關(guān)參數(shù)
?
? ? ? ? ??Xms:堆的初始值。默認(rèn)為物理內(nèi)存的1/64,最大不超1G。
? ? ? ? ??Xmx:堆的最大值。默認(rèn)為物理內(nèi)存的1/4,最大不超1G。
? ? ? ? ??Xmn:新生代的大小。
? ? ? ? ??Xss:線程棧大小。
? ? ? ? ??PermSize:永久代初始大小。默認(rèn)為物理內(nèi)存的1/64,最大不超1G。
? ? ? ? ??MaxPermSize:永久代最大值。默認(rèn)為物理內(nèi)存的1/4,最大不超1G。
? ? ? ? ??NewRatio:新生代與年老代的比例。比如為3,則新生代占堆的1/4,年老代占3/4。
? ? ? ? ??SurvivorRatio:新生代中調(diào)整eden區(qū)與survivor區(qū)的比例,默認(rèn)為8,即eden區(qū)為80%的大小,兩個(gè)survivor分別為10%的大小。(備注:這個(gè)參數(shù)設(shè)定是講解復(fù)制算法那一章中,解決復(fù)制算法內(nèi)存減半的辦法。eden區(qū)即是復(fù)制算法一章中80%的那部分,而survivor區(qū)則是兩個(gè)10%的那部分。)
?
垃圾搜集器性能通用參數(shù)
? ? ? ? ??
? ? ? ? ??PretenureSizeThreshold:晉升年老代的對(duì)象大小。默認(rèn)為0,比如設(shè)為10M,則超過(guò)10M的對(duì)象將不在eden區(qū)分配,而直接進(jìn)入年老代。
? ? ? ? ??MaxTenuringThreshold:晉升老年代的最大年齡。默認(rèn)為15,比如設(shè)為10,則對(duì)象在10次普通GC后將會(huì)被放入年老代。
? ? ? ? ??DisableExplicitGC:禁用System.gc()。
?
并行搜集器參數(shù)
?
? ? ? ? ??ParallelGCThreads:回收時(shí)開(kāi)啟的線程數(shù)。默認(rèn)與CPU個(gè)數(shù)相等。
? ? ? ? ??GCTimeRatio:設(shè)置系統(tǒng)的吞吐量。比如設(shè)為99,則GC時(shí)間比為1/1+99=1%,也就是要求吞吐量為99%。若無(wú)法滿足會(huì)縮小新生代大小。
? ? ? ? ??MaxGCPauseMillis:設(shè)置垃圾回收的最大停頓時(shí)間。若無(wú)法滿足設(shè)置值,則會(huì)優(yōu)先縮小新生代大小,仍無(wú)法滿足的話則會(huì)犧牲吞吐量。
? ? ? ? ??
并發(fā)搜集器參數(shù)
?
? ? ? ? ??CMSInitiatingOccupancyFraction:觸發(fā)CMS收集器的內(nèi)存比例。比如60%的意思就是說(shuō),當(dāng)內(nèi)存達(dá)到60%,就會(huì)開(kāi)始進(jìn)行CMS并發(fā)收集。
? ? ? ? ??UseCMSCompactAtFullCollection:這個(gè)前面已經(jīng)提過(guò),用于在每一次CMS收集器清理垃圾后送一次內(nèi)存整理。
? ? ? ? ??CMSFullGCsBeforeCompaction:設(shè)置在幾次CMS垃圾收集后,觸發(fā)一次內(nèi)存整理。
?
結(jié)束語(yǔ)
?
? ? ? ? ? GC相關(guān)系列基本就結(jié)束了,本篇文章只是做一個(gè)羅列,之后我們一起來(lái)進(jìn)入虛擬機(jī)的源碼世界吧。
總結(jié)
以上是生活随笔為你收集整理的JVM内存管理------垃圾搜集器参数精解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OPPO Find N3 折叠屏手机搭载
- 下一篇: JVM内存管理------垃圾搜集器精解