关于java:JVM系列6GC与调优6常用参数汇总

36次阅读

共计 1600 个字符,预计需要花费 4 分钟才能阅读完成。

JVM 系列笔记目录

  • 虚拟机的根底概念
  • class 文件构造
  • class 文件加载过程
  • jvm 内存模型
  • JVM 罕用指令
  • GC 与调优

GC 罕用参数

  • -Xmn -Xms -Xmx -Xss 年老代 最小堆 最大堆 栈空间
  • -XX:+UseTLAB 应用 TLAB,默认关上
  • -XX:+PrintTLAB 打印 TLAB 的应用状况
  • -XX:TLABSize 设置 TLAB 大小
  • -XX:+DisableExplictGC 禁止代码中显示调用 GC
  • -XX:+PrintGC 打印 GC 状况
  • -XX:+PrintGCDetails 打印 GC 具体过程
  • -XX:+PrintHeapAtGC 在打印 GC 过程中打印机堆状况
  • -XX:+PrintGCTimeStamps 打印 GC 工夫戳
  • -XX:+PrintGCApplicationConcurrentTime (低) 打印应用程序工夫
  • -XX:+PrintGCApplicationStoppedTime 低)打印暂停时长
  • -XX:+PrintReferenceGC(重要性低)记录回收了多少种不同援用类型的援用
  • -verbose:class 类加载具体过程
  • -XX:+PrintVMOptions 打印虚拟机的参数
  • -XX:+PrintFlagsFinal 打印机最终的参数
  • -XX:+PrintFlagsInitial 打印机初始的参数
  • -Xloggc:opt/log/gc.log 指定 GC 存储的门路
  • -XX:MaxTenuringThreshold 指定升代年龄,最大值 15
  • -XX:PreBlockSpin 锁自旋次数
  • -XX:CompileThreshold 热点代码检测参数

Parallel 罕用参数

  • -XX:SurvivorRatio survivor 区比例
  • -XX:PreTenureSizeThreshold 指定大对象到底多大
  • -XX:MaxTenuringThreshold 指定升代年龄,最大值 15
  • -XX:+ParallelGCThreads 并行收集器的线程数,同样实用于 CMS,个别设为和 CPU 核数雷同
  • -XX:+UseAdaptiveSizePolicy 主动抉择各区大小比例

CMS 罕用参数

  • -XX:+UseConcMarkSweepGC 应用 CMS 垃圾回收器
  • -XX:ParallelCMSThreads CMS 线程数量
  • -XX:CMSInitiatingOccupancyFraction 应用多少比例的老年代后开始 CMS 收集,默认是 68%(近似值),如果频繁产生 SerialOld 卡顿,应该调小
  • -XX:+UseCMSCompactAtFullCollection 在 FGC 时进行压缩
  • -XX:CMSFullGCsBeforeCompaction 多少次 FGC 之后进行压缩
  • -XX:+CMSClassUnloadingEnabled CMS 运行类卸载
  • -XX:CMSInitiatingPermOccupancyFraction CMS 达到什么比例时进行 Perm 回收
  • GCTimeRatio 设置 GC 工夫占用程序运行工夫的百分比
  • -XX:MaxGCPauseMillis 进展工夫,是一个倡议工夫,GC 会尝试用各种伎俩达到这个工夫,比方减小年老代

G1 罕用参数

  • -XX:+UseG1GC 应用 G1
  • -XX:MaxGCPauseMillis 倡议值,G1 会尝试调整 Young 区的块数来达到这个值
  • -XX:+G1HeapRegionSize 分区大小,倡议逐步增大该值,1 2 4 8 16 32M;随着 size 减少,垃圾的存活工夫更长,GC 距离更长,但每次 GC 的工夫也会更长
  • G1NewSizePercent 新生代最小比例,默认为 5%
  • G1MaxNewSizePercent 新生代最大比例,默认为 60%
  • GCTimeRatio GC 工夫倡议比例,G1 会依据这个值调整堆空间
  • ConcGCThreads 线程数量
  • InitiatingHeapOccupancyPercent 启动 G1 的堆空间占用比例

常识分享,转载请注明出处。学无先后,达者为先!

正文完
 0