JVM常用参数整理

这里不保证完全准确,可以到官方文档上面去验证:

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

GC常用参数

  • -Xmn:年轻代大小
  • -Xms:初始堆大小
  • -Xmx:最大堆大小
  • -Xss:每个线程的栈大小
  • -XX:+UseTLAB:使用TLAB,默认打开
  • -XX:+PrintTLAB:打印TLAB的使用情况
  • -XX:+TLABSize:设置TLAB大小
  • -XX:+DisableExplictGC:禁用显式的垃圾回收,即System.gc()
  • -XX:+PrintGC:打印GC信息
  • -XX:+PrintGCDetails:GC详细信息
  • -XX:+PrintHeapAtGC:GC打印堆栈情况
  • -XX:+PrintGCTimeStamps:发生GC系统的时间
  • -XX:+PrintGCApplicationConcurrentTime:打印自上次GC暂停以来经过的时间
  • -XX:+PrintGCApplicationStoppedTime:打印GC的暂停时长
  • -XX:+PrintReferenceGC:记录回收了多少种不同引用类型的引用
  • -verbose:class:类加载详细过程
  • -XX:+PrintVMOptions:打印JVM的参数
  • -XX:+PrintFlagsFinal/-XX:+PrintFlagsInitial:打印最终的/初始化默认的参数
  • -Xloggc:opt/log/gc.log
  • -XX:MaxTenuringThreshold:新生代晋升年龄,最大值15
  • 锁自旋次数 -XX:PreBlockSpin 热点代码检测参数 -XX:CompileThreshold 逃逸分析 标量替换…这些不建议设置

Parallel常用参数

  • -XX:SurvivorRatio:新生代Eden:Survivor1:Survivor2的比例,默认8:1:1
  • -XX:PreTenureSizeThreshold:多大对象直接放入老年代
  • -XX:MaxTenuringThreshold:新生代晋升年龄,最大值15
  • -XX:+ParallelGCThreads:并行收集器的线程数,同样适用于CMS,一般设为和CPU核数相同
  • -XX:+UseAdaptiveSizePolicy:自适应Eden:Survivor1:Survivor2大小比例

CMS常用参数

  • -XX:+UseConcMarkSweepGC:启用CMS
  • -XX:ParallelCMSThreads:CMS线程数量
  • -XX:CMSInitiatingOccupancyFraction:使用多少比例的老年代后开始CMS收集,默认是92%
  • -XX:+UseCMSCompactAtFullCollection:在FGC时进行压缩,会导致回收耗时变长
  • -XX:CMSFullGCsBeforeCompaction:多少次FGC之后进行压缩
  • -XX:+CMSClassUnloadingEnabled:永久代相关,1.8之前的
  • -XX:CMSInitiatingPermOccupancyFraction:永久代相关,1.8之前的
  • -XX:GCTimeRatio:建议GC时间占用程序运行时间的百分比
  • -XX:MaxGCPauseMillis:期望的垃圾回收停顿时间

G1常用参数

  • -XX:+UseG1GC:启用G1
  • -XX:MaxGCPauseMillis:建议GC停顿的最大事件,G1会尝试调整Young区的块数来达到这个值
  • -XX:GCPauseIntervalMillis:GC的间隔时间
  • -XX:+G1HeapRegionSize:设置Region分区大小,随着size增加,垃圾的存活时间更长,GC间隔更长,但每次GC的时间也会更长,ZGC做了改进(动态区块大小)
  • -XX:G1NewSizePercent:新生代最小比例,默认为5%
  • -XX:G1MaxNewSizePercent:新生代最大比例,默认为60%
  • -XX:GCTimeRatio:建议GC时间占用程序运行时间的百分比
  • -XX:ConcGCThreads:用于清理的并发线程数量
  • -XX:InitiatingHeapOccupancyPercent:启动G1的堆空间占用比例

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/jvm%e5%b8%b8%e7%94%a8%e5%8f%82%e6%95%b0%e6%95%b4%e7%90%86/

发表评论

电子邮件地址不会被公开。