-XX:CMSInitiatingOccupancyFraction
使用例子: -XX:CMSInitiatingOccupancyFraction=70 CMS垃圾收集器,当老年代达到70%时,触发CMS垃圾回收。
查看CMSInitiatingOccupancyFraction的初始值为-1
intx CMSInitiatingOccupancyFraction = -1 {product}
那么-1代表着什么呢?
查看jvm源码可知
product(intx, CMSInitiatingOccupancyFraction, -1, \"Percentage CMS generation occupancy to start a CMS collection " \"cycle. A negative value means that CMSTriggerRatio is used")
注释里也说了,如果CMSInitiatingOccupancyFraction是个负值,那么CMSTriggerRatio将被用到
那么具体是如何用到的呢?
_cmsGen ->init_initiating_occupancy(CMSInitiatingOccupancyFraction, CMSTriggerRatio);void ConcurrentMarkSweepGeneration::init_initiating_occupancy(intx io, uintx tr) {assert(io <= 100 && tr <= 100, "Check the arguments");if (io >= 0) {_initiating_occupancy = (double)io / 100.0;} else {_initiating_occupancy = ((100 - MinHeapFreeRatio) +(double)(tr * MinHeapFreeRatio) / 100.0)/ 100.0;}
}
如果CMSInitiatingOccupancyFraction在0~100之间,那么由CMSInitiatingOccupancyFraction决定。
否则由按 ((100 - MinHeapFreeRatio) + (double)( CMSTriggerRatio * MinHeapFreeRatio) / 100.0) / 100.0 决定。
那么MinHeapFreeRatio,CMSTriggerRatio的初始值是多少?
uintx MinHeapFreeRatio = 40 {manageable}
uintx CMSTriggerRatio = 80 {product}
即最终当老年代达到 ((100 - 40) + (double) 80 * 40 / 100 ) / 100 = 92 %时,会触发CMS回收。
转载于:https://my.oschina.net/kayCz/blog/1526584
-XX:CMSInitiatingOccupancyFraction相关推荐
- -XX:CMSInitiatingOccupancyFraction和-XX:+UseCMSInitiatingOccupancyOnly参数
-XX:CMSInitiatingOccupancyFraction:在使用CMS收集器的情况下,指定老年代被使用的内存空间的阈值,达到该阈值则触发Full GC. -XX:+UseCMSInitia ...
- CMS收集器几个参数详解 -XX:CMSInitiatingOccupancyFraction, CMSFullGCsBeforeCompaction
CMSInitiatingOccupancyFraction -XX:CMSInitiatingOccupancyFraction这个参数是指在使用CMS收集器的情况下,老年代使用了指定阈值的内存时, ...
- -XX:CMSInitiatingOccupancyFraction=92 Java8
Java8中,-XX:CMSInitiatingOccupancyFraction的默认值是92,详情见官网: Starting a Concurrent Collection Cycle With ...
- -XX:CMSInitiatingOccupancyFraction=70 和-XX:+UseCMSInitiatingOccupancyOnly
CMS GC要决定是否在full GC时做压缩,会依赖几个条件.其中, 第一种条件,UseCMSCompactAtFullCollection 与 CMSFullGCsBeforeCompactio ...
- JVM -XX:CMSInitiatingOccupancyFraction=90 这个参数是有取值范围的
CMSInitiatingOccupancyFraction值与Xmn的关系公式 promontion faild产生的原因是EDEN空间不足的情况下将EDEN与From survivor中的存活对象 ...
- CMS垃圾收集器小实验之CMSInitiatingOccupancyFraction参数
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 背景 测试CMSInitiatingOccupancyFracti ...
- JVM底层原理之标配参数、X和XX参数
一.JVM的参数类型 (1)标配参数(以-开头) java -version java -help java -showversion 在JDK各个版本之间稳定,很少有大的变化. [标准VM ...
- tomcat 启动参数 Xms, Xmx, XX:MaxNewSize, XX:PermSize, -XX:MaxPermSize, Djava.awt.headless
在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加 JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSiz ...
- Tomcat 调优及 JVM 参数优化
Tomcat 本身与 JVM 优化 Tomcat:调整Server.xml JVM:bat启动服务方式的话修改catalina.bat 服务式启动的话参考:http://www.cnblogs.com ...
最新文章
- Android- assent和raw的区别
- HTML5与jQuery实现渐变绚丽网页图片效果
- ffmpeg使用总结
- java中的日期时间的计算与比较
- MATLAB double、str、cell间的类型转换
- mysql update修改数据_MySQL UPDATE:修改数据(更新数据)
- 鸭子类型duck typing(动态)
- android APN的打开与关闭
- 案例:神经网络建模 + 可视化分析 = 提效增质的利器!
- CondConv: Conditionally Parameterized Convolutions for Efficient Inference
- 维特比算法(Viterbi algorithm) 的理解
- 与语音信号处理有关的java书籍_MATLAB在语音信号分析与合成中的应用 中文pdf扫描版[198MB]...
- 月薪30k的程序员应聘时面试官都会问什么问题
- 智原领先推出网通ASIC专用28纳米28G可编程SerDes
- 哥,8年不见,您啥时候回来?度娘想死您了!
- 5个简历模板下载及制作网站
- jmp指令和call指令
- 第32节:Java中-构造函数,静态方法,继承,封装,多态,包
- 张近东的大商之道:企业价值在于“为别人所用” | 一点财经
- 接口自动化测试平台Lego ------ 美团接口自动化测试超全实践【3000字长文】