栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

CMS垃圾收集器-什么时候运行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CMS垃圾收集器-什么时候运行?

CMSInitiatingOccupancyFraction
决定何时启动CMS(为了使此选项生效,您还必须设置
-XX:+UseCMSInitiatingOccupancyOnly
)。
MaxHeapFreeRatio
是确定世代空间大小的选项。

参见例如…

http://java.sun.com/docs/hotspot/gc1.4.2/faq.html

通常无法加快并发收集,但可以更早启动。当旧一代中已分配空间的百分比超过阈值时,并发收集开始运行。此阈值是根据并发收集器的一般经验计算得出的。如果正在进行完整收集,则可能需要更早启动并发收集。命令行标志CMSInitiatingOccupancyFraction可用于设置启动收集的级别。其默认值为大约68%。调整值的命令行是

-XX:CMSInitiatingOccupancyFraction=<percent>

http://www.oracle.com/technetwork/java/gc-
tuning-5-138395.html

默认情况下,虚拟机会在每个集合上增加或缩小堆,以尝试将每个集合中活动对象的可用空间比例保持在特定范围内。此目标范围由参数

-XX:MinHeapFreeRatio=<minimum>
和设置为百分比
-XX:MaxHeapFreeRatio=<maximum>
,总大小由限制为下限
-Xms
,之上为
-Xmx

.. 要么 ..

http://www.petefreitag.com/articles/gctuning/

-XX:MaxHeapFreeRatio
-当一代中的可用空间百分比超过该值时,一代将缩小以满足该值。默认值为70

编辑:我用一个测试程序运行了一些模拟,该程序只是随机创建字节数组的映射并将其复制到周围。我注意到a)分数值未得到尊重-
特别是采用保守值(例如50),CMS初始标记阶段的占用率远远超过50%,通常约为70-80%;
b)分数值较小仍使CMS初始阶段发生得较早(使用的程序

-Xmx1536m -Xmx1536m -XX:NewSize=512m-XX:+UseConcMarkSweepGc
+ gc日志记录和两个测试参数)

我还发现了与此有关的旧错误报告:http
:
//bugs.sun.com/bugdatabase/view_bug.do?bug_id=6486089



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号