HotSpot虚拟机主要参数

JVM参数分类

JVM参数分为标准参数和非标准参数:

  • 标准参数: "-"开头的参数,如-client, -server
  • 非标准参数: "-X""-XX"开头的参数,如-Xmx, -XX:+DisableExplicitGC

或者简单分为三类:

  • "-"开头的参数  :所有的JVM实现都必须实现这些参数的功能,而且向后兼容;
  • "-X"开头的参数   :默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
  • "-XX"开头的参数  :此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;


JVM启动参数大全及默认值

oracle官网

jvm常用参数

verbose:gc启动jvm的时候,输出jvm里面的gc信息
-XX:+PrintGC打印的GC信息
-XX:+PrintGCDetails打印GC的详细信息
-XX:+PrintGCTimeStamps打印GC发生的时间戳
-X:loggc:log/gc.log指定输出gc.log的文件位置
-XX:+PrintHeapAtGC表示每次GC后,都打印堆的信息
-XX:+TraceClassLoading监控类的加载
-XX:+PrintClassHistogram跟踪参数
-Xmx -Xms表示设置堆内存的最大值和最小值
-Xmn设置新生代的内存大小。
-XX:NewRatio新生代和老年代的比例。比如:1:4,就是新生代占五分之一。
-XX:SurvivorRatio设置两个Survivor区和eden区的比例。
比如:2:8 ,就是一个Survivor区占十分之一。
XX:+HeapDumpOnOutMemoryError发生OOM时,导出堆的信息到文件。
-XX:+HeapDumpPath表示,导出堆信息的文件路径。
-XX:OnOutOfMemoryError当系统产生OOM时,执行一个指定的脚本
,这个脚本可以是任意功能的。
比如生成当前线程的dump文件,
或者是发送邮件和重启系统。
-XX:PermSize -XX:MaxPermSize设置永久区的内存大小和最大值;
永久区内存用光也会导致OOM的发生。
-Xss设置栈的大小。栈都是每个线程独有一个,
所有一般都是几百k的大小。

-verbose:gc和-XX:+PrintGC区别:

-XX:+PrintGC 与 -verbose:gc 是一样的,可以认为-verbose:gc 是 -XX:+PrintGC的别名.

-XX:+PrintGCDetails 在启动脚本可以自动开启

-XX:+PrintGC , 如果在命令行使用jinfo开启的话,不会自动开启-XX:+PrintGC

垃圾收集器参数的总结

参数

描述

UserSerialGC

虚拟机运行在CLient的默认值,打开此开关后使用 Serial +Serail OLd组合进行垃圾回收

UseParNewGC

打开此开关后,使用ParNew +Serial OLd收集器进行回收

UseConcMarkSweepGC

打开此开关后,使用ParNew +CMS+Serial Old收集器进行回收。Serail Old收集器将在CMS收集器出现Concurent Mode Failure失败的备用垃圾收集器

UseParallelGC

打开此开关后,使用Parallel Scavenge +serial Old 组合进行垃圾回收

UseParallelOldGC

打开此开关后,使用Parallel Sacvenge +Parallel Old进行垃圾回收

SurvivorRatio

新生代中的Eden区域和Survivor区域的容量的比值,默认为8,代表Eden:Survivor=8:1

PretennureSizeThreshold

直接晋升到老年代的对象大小,设置了这个参数后,大于这个参数经直接晋升到老年代

MaxTenuringThreshold

晋升到老年代的对象大小,每个对象在经历过一次Minor GC后,年龄就动态加1,当超过这个年龄后,就直接晋升到老年代

UseAdaptiveSizePolicy

动态的调整java堆中各个区域的大小以及进入老年代的年龄

HandlerPromotionFailure

是否允许担保失败,即老年代的剩余空间不足以应对新生代的整个Eden和Survivor区的所有对象都存活的极端情况

ParallelGCtThreads

设置并行GC时进行内存回收的线程数

GCTimeRatio

GC时间占总时间的比率,默认值为99,即允许1%的GC时间,尽在使用Parallel Scavenge垃圾收集器时候生效

MaxGCPauseMillis

设置GC的最大停顿时间,进在使用Parallel Scavenge收集器时生效

CMSInitiatingOccupancyFraction

设置CMS收集器在老年代空间被使用多少次后触发垃圾收集,默认值是68%,进在使用CMS收集器时候生效

UseCMSCompactAtFullCollection

设置CMS收集器在完成垃圾收集以后进行一次内存碎片整理。仅仅在使用CMS收集器时候生效

CMSFullCsBeforeCompaction

设置CMS收集器在进行若干次垃圾收集后再启动一次内存碎片整理,仅仅在使用CMS收集器时候生效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值