内存
-XX:MaxPermSize 设置永久代最大空间
-XX:PermSize 设置永久代大小
-Xms 设置堆最小值
-Xmx 设置堆最大值
-Xmn 设置新生代大小
-XX:NewSize 设置新生代大小
-XX:MaxDirectMemorySize 设置直接内存大小,默认是和xmx一样
-Xss 设置栈容量
-Xoss 设置本地方法栈大小,实际上无效
-XX:+/-UseTLAB 设置本地线程分配缓存(TLAB)
-Xnoclassgc 是否回收方法区
查看类加载和卸载信息
-verbose:class
-XX:+TraceClassLoading Product版虚拟机使用
-XX:+TraceClassUnLoading FastDebug版虚拟机使用
GC(minor GC(新生代GC) major GC(老年代GC) FullGC)
-XX:+SurvivorRatio 设置eden和survivor比例,默认是8:1
-XX:+PretenureSizeThreshold 设置直接晋升老年代的大小,超过这个大小的不进入新生代
-XX:+MaxTenuringThreshold 设置晋升到老年代的年龄,就是经过多少次GC后还活着的对象进入老年代
-XX:+UseAdaptiveSizePolicy 使用自动大小适配,不需要手动设置新生代、老年的大小
-XX:HandlePromotionFailure 是否允许分配担保失败
-XX:ParallelGCTreads 设置并行GC时进行的回收线程数
-XX:+PrintGCDetails 设置打印GC日志
输出形式:[GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs]
[GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured: 112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]
-XX:+PrintGC
输出形式:[GC 118250K->113543K(130112K), 0.0094143 secs]
[Full GC 121376K->10414K(130112K), 0.0650971 secs]
-XX:+PrintGCApplicationConcurrentTime:打印每次垃圾回收前,程序未中断的执行时间。可与上面混合使用
输出形式:Application time: 0.5291524 seconds
-XX:+PrintGCApplicationStoppedTime:打印垃圾回收期间程序暂停的时间。可与上面混合使用
输出形式:Total time for which application threads were stopped: 0.0468229 seconds
-XX:PrintHeapAtGC:打印GC前后的详细堆栈信息
-Xloggc:filename:与上面几个配合使用,把相关日志信息记录到文件以便分析。
SerialGC
-XX:+UseSerialGC 开始serial oldGC
-XX:+UseConcMarkSweepGC 开启parNew+CMS+Serial old,Serial old是在CMS失败后备用
ParNew
-XX:+UseConcMarkSweepGC 默认使用新生代收集器
-XX:+UseParNewGc 新生代使用ParNew收集器
-XX:ParallelGCThreads 设置垃圾回收线程数
parallel
-XX:ParallelGC 开启parallel GC
-XX:ParallelOldGC 开启parallel old GC
-XX:GCTimeRatio 设置吞吐量 GC时间占总时间的比率,默认99,即允许1%的GC时间。仅在paraller Scavenge收集器有效
-XX:MaxGcPauseMillis 设置最大垃圾回收停顿时间,仅在paraller Scavenge收集器有效
CMS
-XX:CMSInitiatingOccupancyFraction 设置收集触发百分比
-XX:+UseCMSCompactAtFullCollection 设置CMS要进行FullGCd 时候开启内存碎片的合并整理
-XX:CMSFullGCsBeforeCompaction 设置执行多少次不压缩的FullGC后执行一次带压缩的,默认值0