我的讀書筆記——Paralled Scavenge 收集器

我的讀書筆記

Parallel Scavenge 收集器

​ Paralled Scavenge 收集器是一個新生代收集器,他也是使用複製算法的收集器,又是使用並行的多線程收集器。這個收集器的特點是他的關注點和其他的收集器不同。CMS等收集器的主要關注點是儘可能的縮短垃圾回收是用戶線程的等待時間。而Paralled Scavenge收集器的主要目標是達到一個可控制的吞吐量。所謂吞吐量就是CPU運行用戶代碼的時間和CPU消耗的時間的比值,即吞吐量=運行用戶代碼時間/(運行用戶代碼時間+垃圾收集時間)
​ 停頓越短越適合用戶交互程序,良好的響應時間可以提高用戶的體驗。而高吞吐量則可以高效的利用CPU時間,儘快的完成程序的運算任務,適合在後臺運算而不需要太多的交互任務**。
Paralled Scavenge 收集器提供了兩個參數用於精確控制吞吐量。分別是控制最大垃圾收集停頓時間的-XX:MaxGCPauseMillis ,以及直接設置吞吐量大小的-XX:GCTimeRatio 參數。

  • MaxGCPauseMills 參數允許的只是一個大於0的毫秒數,收集器儘可能的保證內存回收的時間不超過設定值。不過把這個參數設置的稍微小一些就能使得系統的垃圾回收更快一些。GC停頓時間縮短是用犧牲吞吐量和新生代空間來換取的
  • GCTimeRatio 參數的指應該是一個大於0,小於100的數,也就是垃圾回收時間佔總時間的比例,相當於吞吐量的倒數。默認值是99 ,就是允許最大1%的垃圾收集時間

​ 由於與吞吐量的關係密切,Paralled Scavenge收集器也被稱爲“吞吐量優先”收集器, 此外 該收集器還有一個-XX:UseAdaptiveSizePolicy 的參數。當這個參數打開之後,就不需要手工指定新生代的大小(-Xmn)、Eden 和Survivor的比例(-XX:SurvivorRatio)、晉升老年代對象大小(-XX:PretenureSizeThreshold)等細節參數了。虛擬機會根據當前系統的運行情況監控信息,g動態調整這些參數以提供適合的停頓時間和吞吐量。這種調節方式被稱爲:GC自適應調節策略(GC Ergonomics)自適應策略也是Paralled Scavenge 收集器與PreNew 收集器的一個重要區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章