1. 程式人生 > >JVM 零散知識

JVM 零散知識

年輕代大小選擇:

響應時間優先的應用: 儘可能設大,直到接近系統的最低響應時間限制。在此種情況下,年輕代收集發生的頻率也是最小的。同時,減少到達年老代的物件。

吞吐量優先的應用: 儘可能的設定大,可能到達 Gbit 的程度。因為對響應時間沒有要求,垃圾收集可以並行進行,一般適合8CPUc上的應用 。

年老代大小的選擇

響應時間優先的應用:年老代使用併發收集器,所以其大小需要小心設定,一般要考慮併發會話率和會話持續時間等一些引數。如果埣設定小了,會造成記憶體碎片、高回收頻率以及應用暫停而使用傳統的標記清除方式;如果堆大了,則需要較長的收集時間,最優化的方案,一般需要參考以下資料獲得:

1. 併發垃圾收集資訊

2. 持久代併發收集次數

3. 傳統 GC 資訊

4. 花在年輕代和年老代回收上的時間比例減少年輕代和年老代花費的時間,一般會提高應用的效率

吞吐量優先的應用:

一般吞吐量優先的應用都有一個很大的年輕代和一個較小的年老代。原因是:這樣可以儘可能回收掉大部分短期物件,減少中期的物件,而年老代儘量存放長期存活物件。