分享好友 最新动态首页 最新动态分类 切换频道
JVM调优——之CMS 常见参数解析
2024-12-26 22:29

   最近在学习使用CMS这个GC,这里记录下常用的参数。

1. UseCMSCompactAtFullCollection 与 CMSFullGCsBeforeCompaction

     有一点需要注意的是:CMS并发GC不是“full GC”。HotSpot VM里对concurrent collection和full collection有明确的区分。所有带有“FullCollection”字样的VM参数都是跟真正的full GC相关,而跟CMS并发GC无关的。
CMSFullGCsBeforeCompaction这个参数在HotSpot VM里是这样声明的:       

然后这样使用的:


CMS GC要决定是否在full GC时做压缩,会依赖几个条件。其中,
第一种条件,UseCMSCompactAtFullCollection 与 CMSFullGCsBeforeCompaction 是搭配使用的;前者目前默认就是true了,也就是关键在后者上。
第二种条件是用户调用了System.gc(),而且DisableExplicitGC没有开启。
第三种条件是young gen报告接下来如果做增量收集会失败;简单来说也就是young gen预计old gen没有足够空间来容纳下次young GC晋升的对象。
上述三种条件的任意一种成立都会让CMS决定这次做full GC时要做压缩。

CMSFullGCsBeforeCompaction 说的是,在上一次CMS并发GC执行过后,到底还要再执行多少次full GC才会做压缩。默认是0,也就是在默认配置下每次CMS GC顶不住了而要转入full GC的时候都会做压缩。 把CMSFullGCsBeforeCompaction配置为10,就会让上面说的第一个条件变成每隔10次真正的full GC才做一次压缩(而不是每10次CMS并发GC就做一次压缩,目前VM里没有这样的参数)。这会使full GC更少做压缩,也就更容易使CMS的old gen受碎片化问题的困扰。 本来这个参数就是用来配置降低full GC压缩的频率,以期减少某些full GC的暂停时间。CMS回退到full GC时用的算法是mark-sweep-compact,但compaction是可选的,不做的话碎片化会严重些但这次full GC的暂停时间会短些;这是个取舍。

2. -XX:CMSInitiatingOccupancyFraction=70 和-XX:+UseCMSInitiatingOccupancyOnly

    这两个设置一般配合使用,一般用于『降低CMS GC频率或者增加频率、减少GC时长』的需求

   -XX:CMSInitiatingOccupancyFraction=70 是指设定CMS在对内存占用率达到70%的时候开始GC(因为CMS会有浮动垃圾,所以一般都较早启动GC);

   -XX:+UseCMSInitiatingOccupancyOnly 只是用设定的回收阈值(上面指定的70%),如果不指定,JVM仅在第一次使用设定值,后续则自动调整.

3. -XX:+CMSScavengeBeforeRemark

   在CMS GC前启动一次ygc,目的在于减少old gen对ygc gen的引用,降低remark时的开销-----一般CMS的GC耗时 80%都在remark阶段

 

 

最新文章
郑州发布:中小学编程培训学校十大排名揭秘一览
少儿编程符合当前的教育*趋势,培养孩子的编程技能是时代的要求。孩子学习儿童编程可以开发大脑,提升专注力。下面小编给大家介绍一下国内排名靠前的少儿编程培训机构。1.童程童美少儿编程2.西瓜创客少儿编程3.昂立编程4.编完边学5.中公趣码
连云港爱采购免费入驻
百度爱采购的服务以及做到好的转化效果有哪些操作?百度终究是个搜索引擎,做的越早以后排名越好,而且随着时间推移越来越稳定;现在百度爱采购,关键词是可以无限设置的,产品不受数量限制,趁着百度没限制,入驻很有必要,此后门槛可能会
【长沙】AITO问界大型团购会【2024-12-19 星期四】
本《卡盟网团购服务使用协议》隶属于好多车信息技术(北京)有限公司旗下《用户使用协议》的重要组成部分,若您欲访问和使用卡盟网团购频道,接受本网站提供的服务,您应当仔细阅读本协议的全部内容,尤其是涉及您重大权益的加粗部分的文字
微信小程序框架选哪个?商城搭建指南
微信小程序框架选哪个?商城搭建指南微信小程序框架是小程序开发必不可少的工具。然而,市场上的框架有很多种,如何选择最适合自己项目需求的框架?Taro框架是一款基于React语法的多端开发框架,可以同时开发小程序、H5和APP等多个平台。它
SEO优化中的网站结构设计
网站结构设计在SEO优化中的重要性网站结构设计是搜索引擎优化(SEO)中的一个关键要素,它不仅影响用户体验,还直接关系到网站在搜索引擎中的排名。一个合理的网站结构可以帮助搜索引擎更好地抓取和索引网站内容,从而提升网站的可见性。本
央行承认的POS机品牌,安全可靠,值得信赖
央行认可的POS机品牌是安全可靠的,值得信赖。这些品牌的POS机具有先进的技术和管理团队,能够保障交易的安全性和稳定性。央行对于POS机的审核非常严格,只有通过审核的品牌才能被认可。使用央行认可的POS机可以有效地降低交易风险,提高交
Wordpress外贸建站 | 最全面的Wordpress外贸网站教程(附视频讲解)
郑州白帽子是专业做外贸网站定制、谷歌SEO网站内容的公司,希望通过这篇外贸建站教程可以让你对外贸建站有一个系统的认知。如果你还不知道做外贸的全流程,可以看下新手如何做外贸这篇教程。为什么要把外贸网站定位放在第一步? 因为定位是
知乎文章关键词搜索排名置顶第一的方法!
知乎作为一家用户流量巨大的问答类社群平台,引流能力自然不言而喻,然而拥有巨大的流量入口就有超乎寻常的竞争。那我们如何才能将在知乎发布的文章,在用户搜索关键词的时候,让文章的排名靠前或置顶呢?笔者今天给大家讲解下知乎关键词排
Shell学习与Hadoop进阶
1.shell学习笔记 如下 2.明日学习计划         下一步是学习Hadoop,之前看过800分钟的视频,学会了搭建Hadoop,hive,并连接帆软BI进行展示。今天看了另一个系列的视频,有1600多分钟,其中
谷歌广告需要多长时间才能发挥作用?它是如何运作的?
虽然我知道3个月对于投放广告的卖家来说,漫长了些,很多人都希望有立竿见影的效果,然而,耐心是制作有效的Google广告的关键。3个月的时间段是你创建Google广告的成熟过程。在广告活动的第一个月,数据是非常重要的。如果你从各种各样的人
相关文章
推荐文章
发表评论
0评