以下所有参数值都是为了明确参数语法的示例值,请不要按照此标准对虚拟机、tomcat等进行调优。
(单位(不区分大小写):1b = 1 byte; 1k = 1b * 1024 byte; 1m = 1k * 1024 byte;1g = 1m * 1024 byte)
-XX:+HeapDumpOnOutOfMemoryError:让虚拟机在出现内存异常时Dump出当前的内存堆转储快照以便事后进行分析。
-XX:+HeapDumpOnCtrlBreak:可以使用Ctrl+Break键让虚拟机生成dump文件。
-Xms20m:堆最小值为20m(默认是物理内存的1/64)
-Xmx20m:堆最大值为20m(默认是物理内存的1/4,默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制)
-Xmn10m:年轻代大小
-Xoss128k:本地方法栈为128k
-Xss128k:虚拟机栈深度为128k
-XX:PermSize=10m:方法区(永久代)大小(适用于JDK1.8以下版本,默认是物理内存的1/64)
-XX:MaxPermSize=20:方法区(永久代)最大大小(适用于JDK1.8以下版本,默认是物理内存的1/4)
-XX:MetaspaceSize=10m:元数据区大小(适用于JDK1.8)
-XX:MaxMetaspaceSize=20m:元数据区最大大小(适用于JDK1.8)
-XX:MinMetaspaceFreeRatio=40:MetaSpace空闲比,如果空闲比小于这个参数,虚拟机会增长Metaspace的大小
-XX:MaxMetaspaceExpansion=5452592B:Metaspace增长时的最大幅度
-XX:MinMetaspaceExpansion=340784B:Metaspace增长时的最小幅度
-XX:MaxDirecMemorySize=10m:直接内存最大值(默认与Java堆最大值相同即-Xmx的值)
-XX:SurvivorRatio=8:Edon区和Survivor区的占比配置(默认为8,针对serial收集器)
-XX:PretenureSizeThreshold=4000000:当一个对象超过4000000byte时,直接分配到老年代(针对serial收集器)
-XX:+HandlePromotionFailure:在发生Minor GC之前,虚拟机会先检查老年代最大可用的连续空间是否大于新生代所有对象总空间,如果这个条件成立,那么MinorGC可以确保是安全的,如果不成立,则虚拟机会查看+HandlePromotionFailure设置值是否允许担保失败。如果允许,那么会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小,如果大于,将尝试进行一次MinorGC;如果小于,或者+HandlePromotionFailure设置不允许冒险,那这时就要改为一次full GC。在JDK6 Update24之后将不再启用该参数,只要老年代的连续空间大于新生代对象总大小或者历次晋升的平均大小就会进行Minor GC。
-XX:+PrintGCDetails:打印GC日志
-XX:+PrintFlagsFinal:查看参数默认值(适用于JDK1.6版本以上)
-XX:+UseSerialGC:使用serial串行垃圾收集器
-XX:+AlwaysTenure:表示没有幸存区,所有对象在第一次GC时,会晋升到老年代
-XX:+PrintGCApplicationStoppedTime:打印垃圾回收期间程序暂停的时间
-XX:PrintGCDateStamps:以jvm启动时间为起点的相对时间
-Xloggc:gclog.log:GC日志存放位置
+XX:MaxGCPauseMillis=1:控制最大垃圾收集停顿时间(针对Parallel Scavenge垃圾收集器)
-XX:GCTimeRadio=50:设置吞吐量大小(针对Parallel Scavenge垃圾收集器)
-XX:PrintReferenceGC:用来跟踪系统内的(softReference)软引用,(weadReference)弱引用,(phantomReference)虚引用,显示引用过程
-XX:+DisableExplicitGC:屏蔽System.gc()方法
-XX:+UseConcMarkSweepGC:启用CMS收集器也被称为短暂停顿并发收集器(老年代)
-XX:+UseParNewGC:启用ParNew并行收集器(年轻代)
-XX:+TraceClassLoading:跟踪虚拟机对类的加载
-XX:-UseSplitVerifier:关闭验证StackMapTable属性中的记录是否合法这项功能
-XX:+FailOverToOldVerifier:在类加载过程中,对一个类方法体进行字节码验证,如果在类型校验失败的时候退回到旧的类型推导方式进行校验。
-Xverify:none:关闭类验证措施,以缩短虚拟机类加载的时间(对于一些经常使用的代码已经被反复使用和验证过的可以关闭验证)
-verbose:gc:跟踪垃圾收集过程。
参考网站:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html