#申明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