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