GC的性能指標和內存容量配置原則

1、GC性能指標
吞吐量:應用花在非GC上的時間百分比
GC負荷:與吞吐量相反,指應用花在GC上的時間百分比
暫停時間:應用花在GC stop-the-world的時間
GC頻率
反應速度:從一個對象變成垃圾到這個對象被回收的時間
一個交互式的應用要求暫停時間越少越好,然而,一個非交互性的應用,固然是但願GC負荷越低越好
一個試試系統對暫停時間和GC負荷的要求,都是越低越好
一個嵌入式系統固然但願Footprint越小越好併發

2、內存容量配置原則
一、年輕代大小選擇
響應時間優先的應用:儘量設大,直接接近系統的最低響應時間限制(根據實際狀況選擇),在此種狀況下,年輕代手機發生的頻率也是最小的
同時,減小到達老年代的對象。
吞吐量優先的應用:儘量的設置大,可能達到Gbit的程度,由於響應時間沒有要求,垃圾收集能夠並行進行,通常8CPU以上的應用
避免設置太小,當新生代設置太小時會致使:
一、YGC次數更加頻繁
二、可能致使YGC對象直接進入老年代,若是此時老年代滿了,會觸發FGC
二、老年代大小選擇
響應時間優先的應用:老年代使用併發收集器,因此其大小須要當心設置,通常要考慮併發回話率和會話持續時間等一些參數,若是堆設置小了,可能會形成內存碎片,
高回收頻率以及應用暫停而使用傳統的標記清除方式;若是堆大了,則須要較長的收集時間,最優化的方案,通常須要參考如下數據得到:
一、併發垃圾收集信息,持久代併發收集次數、傳統GC信息、花在年輕代和老年代回收上的時間比例。
二、吞吐量優先的應用:通常吞吐量優先的應用都有一個很大的年輕代和一個較小的老年代,緣由是:能夠儘量回收掉大部分短時間對象,減小中期的對象
而老年代盡存放長期存活對象性能

相關文章
相關標籤/搜索