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