JVM調優參數

1.堆大小

-Xms和-Xmx用於指定堆大小,我們需要將他們倆設置爲一樣的值,以避免在GC後重新調整堆的大小。

2.年輕代大小

-XX:NewSize=?和–XX:MaxNewSize=?,年輕代大小建議設置爲堆大小的1/3或者1/4,兩個值大小一樣。設置年輕代大小相當重要,如果年輕代設置小了,那麼一些可以生存週期短的對象可能被移到年老代,導致Full GC,而設置太大,也會引起stop the world。

3.方法區大小

-XX:PermSize=256m-XX:MaxPermSize=256m,方法區大小不會影響性能,只要你設置的值保證應用不報OOM之類的錯誤即可。

4.GC日誌

-Xloggc:$CATALINA_BASE/logs/gc.log-XX:+PrintGCDetails-XX:+PrintGCDateStamps、XX:+PrintHeapAtGC、-XX:+PrintTenuringDistribution,儘可能多的記錄一些GC日誌,這樣可以全面的分析系統行爲。

5.GC算法

-XX:+UseParNewGC-XX:+CMSParallelRemarkEnabled-XX:+UseConcMarkSweepGC、-XX:CMSInitiatingOccupancyFraction=75,這只是一般系統中經常用的參數,你還需要根據你的系統情況選擇最適合你的系統。

6.堆快照

-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=$CATALINA_BASE/logs。

7.OOM發生之後的操作

OOM後關閉服務器:-XX:OnOutOfMemoryError=$CATALINA_HOME/bin/stop.sh

OOM後重啓服務器: -XX:OnOutOfMemoryError=$CATALINA_HOME/bin/restart.sh


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