JVM技术之旅-JVM基本常用设置参数(1)

227 阅读1分钟

每日一句

好的书籍是最贵重的珍宝 ——别林斯基

堆设置的常用参数如下:

  • -Xms :初始堆大小

  • -Xmx :最大堆大小,当Xms和Xmx设置相同时,堆就无法进行自动扩展

  • -XX:NewSize=n/-Xmn :设置年轻代大小

  • -XX:NewRatio=n: 设置年轻代和年老代的比值。如:为 3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4

  • -XX:SurvivorRatio=n :年轻代中Eden区与Survivor区的比值。注意Survivor区有两个。如:XX:SurvivorRatio=3,表示Eden区的大小是一个Survivor区的三倍,但Survivor区有两个,那么Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5。

  • -XX:MaxPermSize/-XX:MetaspaceSize=n :设置方法区大小

收集器设置

  • -XX:+UseSerialGC :设置串行收集器(serial+serialOld)

  • -XX:+UseParallelGC :设置并行收集器(Parnew+Serialold)

  • -XX:+UseParalledlOldGC :设置并行年老代收集器(parScavenge+parold)

  • -XX:+UseConcMarkSweepGC :设置并发收集器(Parnew+Cms)

垃圾回收统计信息

  • -XX:+PrintHeapAtGC GC的heap详情

  • -XX:+PrintGCDetails GC详情

  • -XX:+PrintGCTimeStamps 打印GC时间信息

  • -XX:+PrintTenuringDistribution 打印年龄信息等

  • -XX:+HandlePromotionFailure 老年代分配担保(true or false)

并行收集器设置

  • -XX:ParallelGCThreads=n :设置并行收集器收集时使用的CPU数。并行收集线程数。

  • -XX:MaxGCPauseMillis=n :设置并行收集最大暂停时间

  • -XX:GCTimeRatio=n :设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

并发收集器设置

  • -XX:+CMSIncrementalMode :设置为增量模式。适用于单CPU情况。

  • -XX:ParallelGCThreads=n :设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数