深入理解JVM------垃圾收集器参数

垃圾收集器选择参数

        UseSerialGC:打开此开关,使用serial + serial old 的收集器组合进行回收。

        UseParNewGC:打开此开关,使用ParNew+ serial old 的收集器组合进行回收。

        UseConcMarkSweepGC:打开此开关,使用ParNew+ cms (serial old 做替补)的收集器组合进行回收。

        UseParallelGC:开启此参数使用parallel scavenge & parallel old搜集器(server模式默认值)。

jvm内存相关参数

        Xms:堆的初始值。默认为物理内存的1/64,最大不超1G。

        Xmx:堆的最大值。默认为物理内存的1/4,最大不超1G。

        Xmn:新生代的大小。

        Xss:线程栈大小。

        PermSize:永久代初始大小。默认为物理内存的1/64,最大不超1G。

        MaxPermSize:永久代最大值。默认为物理内存的1/4,最大不超1G。

        NewRatio:新生代与年老代的比例。比如为3,则新生代占堆的1/4,年老代占3/4。

        SurvivorRatio:新生代eden区与survivor区的比例,默认为8,即eden区为80%,两个survivor分别为10%的大小。

垃圾搜集器性能通用参数

        PretenureSizeThreshold:直接晋升年老代的对象大小。无默认值。

        MaxTenuringThreshold:晋升老年代的最大年龄。默认值为15。

        DisableExplicitGC:禁用System.gc()。

并行搜集器参数

        ParallelGCThreads:回收时开启的线程数。默认与CPU个数相等。

        GCTimeRatio:设置系统的吞吐量。比如设为99,则GC时间比为1/(1+99)=1%,也就是要求吞吐量为99%。若无法满足会缩小新生代大小。

        MaxGCPauseMillis:设置垃圾回收的最大停顿时间。若无法满足设置值,则会优先缩小新生代大小,仍无法满足的话则会牺牲吞吐量。       

并发搜集器参数

        CMSInitiatingOccupancyFraction:触发CMS收集器的内存比例,默认值为68。意思就是说,当内存达到68%,就会开始进行CMS并发收集。

        UseCMSCompactAtFullCollection:这个前面已经提过,用于在每一次CMS收集器清理垃圾后送一次内存整理。

        CMSFullGCsBeforeCompaction:设置在几次CMS垃圾收集后,触发一次内存整理。

结束语

        本篇内容到此就结束了,GC相关的也结束了,下一篇将介绍jvm性能监控处理工具。



猜你喜欢

转载自blog.csdn.net/cool_summer_moon/article/details/80680335