Java : CMS 回收默认的CMSInitiatingOccupancyFraction 是多少?可以通过什么命令查看?

发布于 2022-09-06 20:12:51 字数 109 浏览 21 评论 0

假如没有特意设定CMSInitiatingOccupancyFraction
CMS 回收默认的CMSInitiatingOccupancyFraction 是多少?
可以通过什么命令查看?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

落花浅忆 2022-09-13 20:12:51

老年代堆空间的使用率,默认值为68;

命令: -XX:CMSInitiatingOccupancyFraction=<percent>

http://ifeve.com/useful-jvm-f...

内心激荡 2022-09-13 20:12:51

参考周志明《深入理解 Java 虚拟机 第二版》3.5.6 节 “CMS 收集器”,“CMS 收集器无法处理浮动垃圾” 小节:JDK1.5 时,CMSInitiatingOccupancyFraction 的默认值是 68;JDK1.6 时,默认值调高为 92


命令的话,可以在 JVM 启动的时候使用 -XX:+PrintFlagsFinal 来显示所有可配置参数的信息,然后找到 CMSTriggerRatioMinHeapFreeRatio,然后计算 CMSInitiatingOccupancyFraction 的公式为:

CMSInitiatingOccupancyFraction = (100 - MinHeapFreeRatio) + (CMSTriggerRatio * MinHeapFreeRatio / 100)
寻梦旅人 2022-09-13 20:12:51

在jdk的bin目录下有个工具 jinfo可以查看java配置信息工具
以下是我在Tomcat7环境下查到的

[root@izwz91vdyajvh2cr6jksfjz ~]# jinfo -flag CMSInitiatingOccupancyFraction 2713
-XX:CMSInitiatingOccupancyFraction=-1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文