JVM复习笔记
--慢慢來(lái)
?
垃圾收集:
young generation-------serial, parnew, parallel scavenge
tenured gencration---------CMS, Serial old(MSC), parallel old.
parallel scavenge收集器是一個(gè)新生代收集器,他也是使用服飾算法的收集器,又是并行的多線程收集器
看上去和parnew差不多,有什么特別的呢?
--parallel scavenge收集器的特點(diǎn)是它的關(guān)注點(diǎn)與其他收集器不同,CMS等收集器的關(guān)注點(diǎn)是
盡可能地縮短垃圾收集時(shí)用戶線程的停頓時(shí)間,而parallel scavenge收集器的目的標(biāo)準(zhǔn)則時(shí)
達(dá)到一個(gè)可控制的吞吐量。
自適應(yīng)調(diào)節(jié)策略是parallel scavenge收集器與parnew收集器的一個(gè)重要區(qū)別。
參數(shù)-- -XX:+UseAdaptiveSizePolicy MaxGCPauseMillis GCTimeTatio
?
CMS(Concurrent Mark Sweep)收集器是一種以獲取最短回收停頓時(shí)間為目標(biāo)的收集器
這類應(yīng)用尤其重視服務(wù)的響應(yīng)速度,希望系統(tǒng)停頓時(shí)間最短,以給用戶帶來(lái)較好的體驗(yàn)。
cms收集器無(wú)法處理浮動(dòng)垃圾(Floating Garbage)可能出現(xiàn)“Concurrent mode failure”
失敗而導(dǎo)致另一次Full GC的產(chǎn)生。
jdk1.5默認(rèn)設(shè)置下,CMS收集器當(dāng)老年代68%的空間后就會(huì)被激活。
G1(Garbage-First)
是一款面向服務(wù)端應(yīng)用的垃圾收集器。未來(lái)可以替換掉jdk1.5中發(fā)布的CMS收集器
JVM垃圾收集常用參數(shù)
| ? 參 數(shù) | ?描 述 |
| ?UseSerialGC | ?虛擬機(jī)運(yùn)行在Client 模式下的默認(rèn)值,打開(kāi)此開(kāi)關(guān)后,使用Serial + Serial Old 的收集器組合進(jìn)行內(nèi)存回收 |
| ?UseParNewGC | ?打開(kāi)此開(kāi)關(guān)后,使用ParNew + Serial Old 的收集器組合進(jìn)行內(nèi)存回收 |
| ?UseConcMarkSweepGC | ?打開(kāi)此開(kāi)關(guān)后,使用ParNew + CMS + Serial Old 的收集器組合進(jìn)行內(nèi)存 回收。Serial Old 收集器將作為CMS 收集器出現(xiàn)Concurrent Mode Failure失敗后的后備收集器使用 |
| ?UseParallelGC | ?虛擬機(jī)運(yùn)行在Server 模式下的默認(rèn)值,打開(kāi)此開(kāi)關(guān)后,使用Parallel Scavenge + Serial Old(PS MarkSweep)的收集器組合進(jìn)行內(nèi)存回收 |
| ?UseParallelOldGC | ?打開(kāi)此開(kāi)關(guān)后,使用Parallel Scavenge + Parallel Old 的收集器組合進(jìn)行內(nèi)存回收 |
| ?SurvivorRatio | ?新生代中Eden 區(qū)域與Survivor 區(qū)域的容量比值, 默認(rèn)為8, 代表 Eden :Survivor=8∶1 |
| ?PretenureSizeThreshold | ?直接晉升到老年代的對(duì)象大小,設(shè)置這個(gè)參數(shù)后,大于這個(gè)參數(shù)的對(duì)象 將直接在老年代分配 |
| ?MaxTenuringThreshold | ?晉升到老年代的對(duì)象年齡。每個(gè)對(duì)象在堅(jiān)持過(guò)一次Minor GC 之后,年 齡就加1,當(dāng)超過(guò)這個(gè)參數(shù)值時(shí)就進(jìn)入老年代 |
| ?UseAdaptiveSizePolicy | ?動(dòng)態(tài)調(diào)整Java 堆中各個(gè)區(qū)域的大小以及進(jìn)入老年代的年齡 |
| ?HandlePromotionFailure | ?是否允許分配擔(dān)保失敗,即老年代的剩余空間不足以應(yīng)付新生代的整個(gè) Eden 和Survivor 區(qū)的所有對(duì)象都存活的極端情況 |
| ?ParallelGCThreads | ?設(shè)置并行GC 時(shí)進(jìn)行內(nèi)存回收的線程數(shù) |
| ?GCTimeRatio | ?GC 時(shí)間占總時(shí)間的比率,默認(rèn)值為99,即允許1% 的GC 時(shí)間。僅在 使用Parallel Scavenge 收集器時(shí)生效 |
| ?MaxGCPauseMillis | ?設(shè)置GC 的最大停頓時(shí)間。僅在使用Parallel Scavenge 收集器時(shí)生效 |
| ?CMSInitiatingOccupancyFraction | ?設(shè)置CMS 收集器在老年代空間被使用多少后觸發(fā)垃圾收集。默認(rèn)值為 68%,僅在使用CMS 收集器時(shí)生效 |
| ?UseCMSCompactAtFullCollection | ?設(shè)置CMS 收集器在完成垃圾收集后是否要進(jìn)行一次內(nèi)存碎片整理。僅 在使用CMS 收集器時(shí)生效 |
| ?CMSFullGCsBeforeCompaction | ?設(shè)置CMS 收集器在進(jìn)行若干次垃圾收集后再啟動(dòng)一次內(nèi)存碎片整理。 僅在使用CMS 收集器時(shí)生效 |
轉(zhuǎn)載于:https://www.cnblogs.com/chywx/p/6813507.html
總結(jié)
- 上一篇: CentOS下Apache环境支持GBK
- 下一篇: WinForm下的键盘事件(KeyPre