假如没有特意设定CMSInitiatingOccupancyFraction
CMS 回收默认的CMSInitiatingOccupancyFraction 是多少?
可以通过什么命令查看?
假如没有特意设定CMSInitiatingOccupancyFraction
CMS 回收默认的CMSInitiatingOccupancyFraction 是多少?
可以通过什么命令查看?
参考周志明《深入理解 Java 虚拟机 第二版》3.5.6 节 “CMS 收集器”,“CMS 收集器无法处理浮动垃圾” 小节:JDK1.5 时,CMSInitiatingOccupancyFraction
的默认值是 68
;JDK1.6 时,默认值调高为 92
。
命令的话,可以在 JVM 启动的时候使用 -XX:+PrintFlagsFinal
来显示所有可配置参数的信息,然后找到 CMSTriggerRatio
和 MinHeapFreeRatio
,然后计算 CMSInitiatingOccupancyFraction
的公式为:
CMSInitiatingOccupancyFraction = (100 - MinHeapFreeRatio) + (CMSTriggerRatio * MinHeapFreeRatio / 100)
在jdk的bin目录下有个工具 jinfo可以查看java配置信息工具
以下是我在Tomcat7环境下查到的
[root@izwz91vdyajvh2cr6jksfjz ~]# jinfo -flag CMSInitiatingOccupancyFraction 2713
-XX:CMSInitiatingOccupancyFraction=-1
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.6k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
老年代堆空间的使用率,默认值为68;
命令:
-XX:CMSInitiatingOccupancyFraction=<percent>
http://ifeve.com/useful-jvm-f...