jvm-經常使用參數配置

#申明shell

每種類型的虛擬機參數配置不同,而同一類型的虛擬機不一樣版本參數也不同,本文以HotSpot1.8.0_11爲例、在這個版本中jvm參數在721個左右(使用 -XX:+PrintFlagsFinal參數輸出全部參數及默認值),參數使用方式,-XX表示非穩定參數:jvm

  • -XX:+<option> 開啓option參數
  • -XX:-<option> 關閉option參數
  • -XX:<option>=<value> 將option設置爲value

一、虛擬機內存管理參數spa

參數及使用 默認值 參數介紹
-XX:+UseSerialGC client模式默認開啓 使用Serial+Serial Old收集器組合進行GC回收
-XX:+UseParNewGC 默認關閉 使用ParNew+Serial Old收集器組合進行GC回收
-XX:+UseConcMarkSweepGC 默認關閉 使用Parnew+CMS+Serial Old(做爲CMS後備收集器)
-XX:+UseParallelGC server模式默認開啓 使用Parallel Scavenge+Serial Old進行GC
-XX:+UseParallelOldGC 默認關閉 使用Parallel Scavenge+Parallel Old進行GC回收
-XX:PretenureSizeThreshold=4 大於此值大小的對象直接分配到老年代
-XX:MaxTenuringThreshold=9 15 經歷多少次 Minor GC 後對象進入老年代
-XX:+UseAdaptiveSizePolicy 默認開啓 動態調整Java堆中各區域大小及進入老年代的年齡
-XX:GCTimeRatio=99 默認99 表示容許1%的GC時間,只對Parallel Scavenge生效
-XX:MaxGCPauseMillis=1 無默認值 GC最大停頓時間,只對Parallel Scavenge生效
-XX:MaxHeapFreeRatio=70 70 當Xmx>Xms,堆空閒> 此比率時自收縮,最小到xms
-XX:MinHeapFreeRatio=40 40 當Xmx>Xms,堆空閒< 此比率時自擴展,最大到xmx
-XX:MetaspaceSize=40m 20.8M MetaSpace第一次擴展閾值,並不是初始容量
-XX:MaxMetaspaceSize=100m 無上限 MetaSpace最大大小

2,調試參數(默認關閉)調試

參數及使用 參數介紹
-XX:+HeapDumpOnOutOfMemoryError 在發生 outOfMemory 時是否生成 heap_dump/hprof 文件
-XX:HeapDumpPath=/temp/ 設置發生 outOfMemory 時生成 hprof 文件的存儲位置
-XX:OnOutOfMemoryError="/temp/my.sh" 發生outOfMemory執行的shell,可執行指定腳本
-XX:OnError="/temp/my.sh" 發生Error時執行的shell,可執行指定腳本
-XX:+PrintGC 打印GC信息
-XX:+PrintGCDetails 打印GC詳細信息
-XX:+PrintGCTimeStamps 打印GC停頓耗時
-XX:+PrintenuringDistribution 打印GC後新生代各個年齡對象的大小
-XX:+TraceClassLoading 打印類加載信息
-XX:+TraceClassUnLoading 打印類卸載信息

未完待續...server

相關文章
相關標籤/搜索