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

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

阅读 10k
3 个回答

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


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

CMSInitiatingOccupancyFraction = (100 - MinHeapFreeRatio) + (CMSTriggerRatio * MinHeapFreeRatio / 100)
新手上路,请多包涵

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

[root@izwz91vdyajvh2cr6jksfjz ~]# jinfo -flag CMSInitiatingOccupancyFraction 2713
-XX:CMSInitiatingOccupancyFraction=-1
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏