JVM调优--参数篇章

收集器

参数及默认值

备注

Serial

-XX: +UseSerialGC

虚拟机在Client模式下的默认值,开启后,使用Serial + Serial Old的组合

ParNew

-XX: +UseParNewGC

开启后,使用ParNew + Serial Old的组合

-XX: ParallelGCThreads=n

设置垃圾收集器在并行阶段使用的垃圾收集线程数.当逻辑处理器数量小于8时,n的值与逻辑处理器数量相同;如里逻辑处理器数量大于8个,则n的值大约为逻辑处避器故量的5/8,大多数情况下是这样,除了较大的SPARC系统, 其中n的值约为逻辑处理器的5/16.

Parallel Scavenge

-XX: +UseParallelGC

虚拟机在Serve模式下的默认值,开启后,使用Parallel Scavenge + SerialOld的组合

-XX: MaxGCPauseMilhs=n

收集器尽可能保证单次内存回收停顿的时间不超过这个值.但是并不保证不超过该值

-XX: GCTimeRatio=n

设置吞吐量的大小.取值值范围0-100.假设GCTimeRatio。的值为n,那么系 硒花费不翅过V(1*n)的时间用于垃圾收集

-XX: +UseAdaptiveSizePolicy

开启后,无需人工招指定新生代的大小(-Xmn) . Eden和Survisor的比例(- XX:SurvivorRatio)以及晋升老年代对象的年龄(- XX:PretenureSizeThreshold)等参数,收集器会根据当前系统的运行情况自动调整

Serial Old

Serial Old是Serial的老年代版本,主要用于Client模式下的老生代收集.同时也是CMS在发生Concurrent Mode Failure时的后备方案

Parallel Old

-XX: +UseParallelOldGC

开启后,使用Parallel Scavenge + Parallel Old的组合。Parallel Old是Parallel Scavenge的老年代版本.在注重吞吐量和CPU类源敏感的场合,可 以优先考虑这个组合

CMS

-XX: +UseConcMarkSweepGC

开启后,使用ParNew + CMS的组合;Serial Old收集器将作为CMS收集器出现Concurrent Mode Failure失败后的后备收集器便用

-XX: CMSInittatingOccupancyFraction=68

CMS收集器在老年代空间被使用多少后触发垃圾收集,默认68%

-XX: +UseCMSCompactAtFullCollection

在完成垃圾收集后是否要进行一次内存碎片整理,默认开启

-XX: CMSFullGCsBeforeCompaclion=0

在进行若干次Full GC后就进行一次内存碎片整理,默认0

-XX: +UseCMSInitiatingOccupancyOnly

允许使用占用值作为启动CMS收集器的唯一标准,一般和CMSFullGCsBeforeCompachon配合便用.如果开启,那么当CMSFullGCsBeforeCompaction达到阈值就开始GC,如果关闭,那么JVM仅在第一次使用CMSFullGCsBefoceCompaction的值,后续则自动调整,默认关闭

-XX: +CMSParallelRemarkEnabied

重新标记阶段并行执行,使用峥数可隆低标记停顿,默认打开(仅适用于ParNewGC)

-XX:+CMSScavengeBeforeRemark

开启或关闭在CMS重新标记阶段之前的清除(YGC)尝试.新生代里一部分对象会作为GC Roots,让CMS在更新标记之前,做一次YGC,而

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

八股文+场景题+算法真题 文章被收录于专栏

Java全新整理八股文 + 场景题 + 算法 精心设计,面试命中率超过80% 专栏优势: 1、问题和答案已经整理到位,答案更专业,可以直接回答,不需要额外总结! 2、场景题讲解清晰,适用于大部分场景的项目,并且持续更新中 3、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】

全部评论

相关推荐

剑桥断刀:找啥工作,牛客找个比如大厂软开或者随便啥的高薪牛马,大把没碰过妹子的技术仔,狠狠拿捏爆金币
点赞 评论 收藏
分享
评论
2
29
分享

创作者周榜

更多
牛客网
牛客企业服务