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

相关文章
相关标签/搜索