-XX:autoBoxCacheMax 包装类型的缓存最大值参见:http://www.javashuo.com/article/p-smmcgzzi-z.html
-XX:autoBoxCacheMax=7777java
-Xms256M -Xmx1024M 堆的初始内存与最大内存
在生产中,这两个值设置成同样大小,避免在GC 后调整堆大小时带来的额外压力算法
-XX:MaxPermSize 永久代的大小。在jdk8后已经被淘汰,使用Metaspace(元空间)
-XX:MaxPermSize=128m 缓存
-XX:SurvivorRatio 两个Survivor区和eden的比
-XX:SurvivorRatio=8 表示两个Survior/eden=2:8 ,即Survivor 占年轻代的1/10jvm
-XX:NewRatio 新生代(eden+2*s)和老年代(不包含永区)的比值
-XX:NewRatio=4 表示新生代/老年代=1:4 , 即年轻代占堆的1/5性能
-XX:Newsize 设置Yong Generation的初始值大小spa
-XX:MaxNewSize 设置Yong Generation的最大值大小.net
-XX:MaxTenuringThreshold 新生代对像晋升老年代的阈值,默认值为15
表示survivor区交换14次后,晋升老年代,若是设置 该值为1,那么每次GC后新生代对像将直接移到老年代线程
-XX:+HeapDumpOnOutOfMemoryError 若是OOM时异常能输出堆内信息日志
-XX:HeapDump- Path=<pathname> 指堆内存的输出路径blog
-XX:+UseSerialGC 虚拟机运行在Client模式下的默认值,Serial+Serial Old。Serial收集器
-XX:+UseParNewGC ParNew+Serial Old,在JDK1.8被废弃,在JDK1.7还能够使用。
-XX:+UseConcMarkSweepGC ParNew+CMS+Serial Old。 Mostly-Concurrent收集器(CMS)
Mostly-Concurrent收集器(Concurrent Mark-Sweep GC):低延迟为先!
-XX:+UseParallelGC 虚拟机运行在Server模式下的默认值,Parallel Scavenge+Serial Old(PS Mark Sweep)。 Throughput收集器(ParallelGC)
-XX:+UseParallelOldGC Parallel Scavenge+Parallel Old。java7 或更高版本自动选择。 Throughput收集器(ParallelGC)
Throughput收集器(ParallelGC): 吞吐量为先!ParallelGC开启自适应堆调整,CMS不会
-XX:+UseG1GC G1 GC, CMS的替代者!
在jdk7中推出新一代垃圾回收,与CMS相比,G1具有压缩功能,能避免碎片的问题,暂停时间 更加可控,性能整体还很是不错
-XX:-UseAdaptiveSizePolicy 关闭自适应堆调整。仅当使用ParallelGC 时使用
-XX:+UseCMSCompactAtFullCollection 强制进行空间碎片整理
CMS 采用标记算法,会产生大量的空间碎片。以上参数就是强制执行一次空间碎片整理,可是空间碎片整理会引起STW。
-XX:+CMSFullGCsBeforeCompaction 配置通过几回的FullGC进行空间碎片整理
-XX:+CMSFullGCsBeforeCompaction=10 通过10次FGC后进行空间碎片整理,以下降STW次数
-XX:ParallelGCThreads=n 设置并行收集器收集时使用的CPU数。并行收集线程数
-XX:MaxGCPauseMillis=n 设置并行收集最大暂停时间
-XX:GCTimeRatio=n 设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
-XX:+CMSIncrementalMode 设置为增量模式。适用于单CPU状况。
-XX:+PrintGCDetails 能够 打印更多有价值的垃圾收集信息
-XX:+PrintTenuringDistribution GC日志中打印晋升分布
-Xloggc:<filename> 能够将垃圾收集的统计数据直接输出到文件
-Xloggc:d:/gc.log 将日志输出至d:/gc.log
-XX:ErrorFile 能够设置hs_err_pid<pid>.log 错误日志文件的路径名 当jvm 因导致错误而崩溃时,会生成错误日志,名为hs_err_pid<pid>.log ,这里的<pid> 是崩溃jvm 进程的id.默认生成在jvm 启动目录下