常用JVM选项

来源:互联网 发布:python while 编辑:程序博客网 时间:2024/06/07 04:00

-XX:+TraceClassLoading 输出类的加载过程

-XX:+TraceClassUnLoading 输出类的卸载过程

-XX:ReservedCodeCacheSize 设置JIT优化后的代码缓存的空间CodeCache,默认48M

-XX:+Use CodeCacheFlushing 清理CodeCache

-XX:CICompilerCount 设置的相对较大可以一定程度提升JIT编译的速度,默认为2

-XX:+PrintFlagsFinal 查看JVM选项默认值,如下:

........ bool UseXmmI2D                                 = false           {ARCH product}           bool UseXmmI2F                                 = false           {ARCH product}           bool UseXmmLoadAndClearUpper                   = true            {ARCH product}           bool UseXmmRegToRegMoveAll                     = true            {ARCH product}           bool VMThreadHintNoPreempt                     = false           {product}                intx VMThreadPriority                          = -1              {product}                intx VMThreadStackSize                         = 0               {pd product}             intx ValueMapInitialSize                       = 11              {C1 product}             intx ValueMapMaxLoopSize                       = 8               {C1 product}             intx ValueSearchLimit                          = 1000            {C2 product}             bool VerifyMergedCPBytecodes                   = true            {product}                intx WorkAroundNPTLTimedWaitHang               = 1               {product}               uintx YoungGenerationSizeIncrement              = 20              {product}               uintx YoungGenerationSizeSupplement             = 80              {product}               uintx YoungGenerationSizeSupplementDecay        = 8               {product}               uintx YoungPLABSize                             = 4096            {product}                bool ZeroTLAB                                  = false           {product}                intx hashCode                                  = 0               {product}           

-XX:+PrintCommandLineFlags 打印真正的参数启动命令,如下:

-XX:InitialHeapSize=266354048 -XX:MaxHeapSize=4261664768 -XX:+PrintCommandLineFlags -XX:+PrintFlagsFinal -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC 

-XX:+PrintFlagsInitial 打印程序中设置好的默认值,不是系统启动时设置的,比如
这里写图片描述
我启动时设置的1G,打印出来的是4G。
-XX:MinHeapFreeRatio 这个很多人应该都熟悉,是JVM堆内存需要扩大的最小比例,堆内存剩余空间低于这个比例时会开始变大,它有个兄弟
-XX:MaxHeapFreeRatio ,当堆内存剩余空间高于这个比例时,会开始变小
-XX:PretenureSizeThreshold 当新建对象大于这个值时,会直接进入老年代
-XX:SurvivorRatio Eden/Survivor的比重(注意是一个Survivor)
-XX:InitialSurvivorRatio Young/S0的比重
-XX:+UseAdaptiveSizePolicy 动态调整Survivor的大小,默认开启(注意这里的默认是指其他GC 参数也是默认的,如果修改了其他参数,默认关闭)
-XX:MaxTenuringThreshold 新生代对象Minor GC次数达到该值后,会进入老年代(一般不修改)
-XX:+PrintGCDetails 输出 heap 区域的 GC 信息

原创粉丝点击