1. 程式人生 > >JVM調優總結系列文章及彙總

JVM調優總結系列文章及彙總

1、一篇總結: JVM調優總結(這個總結得比較全面)

補充調優原則(未經驗證,請勿輕信!!!):

響應時間優先:GC發生(年輕代eden區空間不足時)的時間比較短,頻率比較低,也就是減少因GC引起的停頓時間和次數

tomcat執行引數配置:堆記憶體設定為固定的較大記憶體,即Xms與Xmx的值相等,防止執行過程中動態申請記憶體,並且把年輕代Xmn值設定比較大(預設年輕代與老年代的比是1:4),比如可以設定為老年代的2倍,這樣可以減少GC發生的頻率
垃圾收集器選擇方面:年輕代採用ParNew並行多執行緒收集器,年老代採用CMS併發收集器

配置舉例,在catalina.sh中新增如下引數:

JAVA_OPTS='-XX:+PrintGCDetails -Xloggc:gc.log -Xms2048m -Xmx2048m -Xmn1024m -Xss1024k +XX:UseConcurrentMarkSweepGC'

吞吐量優先:頻繁發生GC

硬體要求必須是多核CPU,充分利用其並行特性,最大限度利用CPU資源
tomcat執行引數配置:堆記憶體設定為固定的較大記憶體,即Xms與Xmx的值相等,防止執行過程中動態申請記憶體,並且把年輕代Xmn值設定比較大(預設年輕代與老年代的比是1:4),比如可以設定為老年代的2倍,這樣可以減少GC發生的頻率
垃圾收集器選擇方面:年輕代採用Parallel Scavenge並行多執行緒收集器,年老代採用Parallel Old並行收集器

配置舉例,在catalina.sh中新增如下引數:

JAVA_OPTS='-XX:+PrintGCDetails -Xloggc:gc.log -Xms2048m -Xmx2048m -Xmn1024m -Xss1024k +XX:UseParallelGC +XX:UseParallelOldGC'

2、JVM調優總結系列文章:從 JVM調優總結-序 開始,或者 JVM調優總結 總入口。