JVM:常用參數含義。

參數 含義 說明
-XX:ClCompilerCount=3 最大並行編譯數 如果設置大於1,雖然編譯速度會提高,但是同樣影響系統穩定性,會增加JVM奔潰的可能
-XX:InitialHeapSize=100M 初始化堆大小 簡寫-Xms100M
-XX:MaxHeapSize=100M 最大堆大小 簡寫-Xmx100M
-XX:NewSize=20M 設置年輕代的大小  
-XX:MaxNewSize=50M 年輕代最大大小  
-XX:OldSize=50M 設置老年代大小  
-XX:MetaspaceSize=50M 設置方法取大小  
-XX:MaxMetaspaceSize=50M 方法區最大大小  
-XX:UseParallelGC 使用UseParallelGC 新生代,吞吐量優先
-XX:UseParallelOldGC 使用UseParallelOldGC 老年代,吞吐量優先
-XX:UseConcMarkSweepGC 使用CMS 老年代,停頓時間優先
-XX:+UseG1GC 使用G1GC 新生代,老年代,停頓時間優先
-XX:NewRatio 新老生代的比例 比如-XX:Ratio=4,則表示新生代:老年代=1:4,也就是新生代佔整個堆內存的1/5
-XX:SurvivorRatio 兩個S區和Eden區的比例 比如-XX:SurvivorRatio=8,也就是(S0+S1):Eden=2:8,也就是說一個S佔整個新生代的1/10
-XX:+HeapDumpOnOutOfMemoryError 啓動堆內存溢出打印 當JVM堆內存發生溢出時,也就是說OOM,自動生成dump文件
-XX:HeapDumpPath=heap.hprof 指定堆內存溢出打印目錄 表示在當前目錄生成一個heap.hprof文件

-XX:+PrintGCDetails

-XX:+PrintGCTimeStamps

-XX:+PrintGCDateStamps

Xloggc:$CATALINA_HOME/logs/gc.log

打印出GC日誌 可以使用不同的垃圾收集器,對比查看GC情況
-Xss128k 設置每個線程的堆棧大小 經驗值是3000~5000最佳
-XX:MaxTenuringThreshold=6 提升年老代的最大臨界值 默認值爲15
-XX:InitiatingHeapOccupancyPercent 啓動併發GC週期時堆內存使用佔比 G1之類的垃圾收集器用它來觸發併發GC週期,基於整個堆的使用率,而不只是某一代內存使用比,值爲0則表示“一直執行GC循環”,默認值爲45
-XX:G1HeapWastePercent 允許浪費堆空間的佔比 默認實10%,如果併發標記可回收的空間小於10%,則不會觸發MixedGC。
-XX:MaxGCPauseMillis=200ms G1最大停頓時間 暫停時間不能太小,太小的話就會導致出現G1跟不上垃圾產生的速度。最終退化成Full GC。所以對這個參數調優是一個持續的過程,逐步調整到最佳狀態。
-XX:ConcGCThreads=n 併發垃圾收集器使用的線程數量 默認值隨JVM運行的平臺不同而不同
-XX:G1MixedGCLiveThresholdPercent=65 混合垃圾回收週期中要包括的舊區域設置佔用率閾值 默認佔用率爲65%
-XX:G1MixedGCCountTarget=8 設置標記週期完成後,對存活數據上限爲G1MixedGCLiveThresholdPercent的舊區域執行混合垃圾回收的目標次數 默認8次混合垃圾回收,混合回收的目標是要控制在此目標次數以內
-XX:G1OldCSetRegionThresholdPercent=1 描述Mixed GC時,Old Region被加入到CSet中 默認情況下,G1只把10%的Old Region加入到CSet中
     

 

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