CMSInitiatingOccupancyFraction值与Xmn的关系公式
promontion faild产生的原因是EDEN空间不足的情况下将EDEN与From survivor中的存活对象存入To survivor区时,To survivor区的空间不足,再次晋升到old gen区,而old gen区内存也不够的情况下产生了promontion faild从而导致full gc.那可以推断出:eden+from survivor < old gen区剩余内存时,不会出现promontion faild的情况,即:
(Xmx-Xmn)*(1-CMSInitiatingOccupancyFraction/100)>=(Xmn-Xmn/(SurvivorRatior+2))  进而推断出:
CMSInitiatingOccupancyFraction <=((Xmx-Xmn)-(Xmn-Xmn/(SurvivorRatior+2)))/(Xmx-Xmn)*100
例如:
当xmx=2048 xmn=256 SurvivorRatior=8(默认值)时  CMSInitiatingOccupancyFraction<=((2048-256)-(2048-256/(8+2)))/(2048-256)*100=87.14
当xmx=128 xmn=36 SurvivorRatior=1时 CMSInitiatingOccupancyFraction<=((128.0-36)-(36-36/(1+2)))/(128-36)*100 =73.913
当xmx=128 xmn=24 SurvivorRatior=1时 CMSInitiatingOccupancyFraction<=((128.0-24)-(24-24/(1+2)))/(128-24)*100=84.615…
当xmx=3000 xmn=600 SurvivorRatior=1时  CMSInitiatingOccupancyFraction<=((3000.0-600)-(600-600/(1+2)))/(3000-600)*100=83.33
CMSInitiatingOccupancyFraction低于70% 需要调整xmn或SurvivorRatior值。
通过CMSInitiatingOccupancyFraction计算公式,计算得出value为73是,可以避免promotion faild问题,同时满足堆内存监控报警值在80%:内存大小128M*80%=102.4M 102.4M-36M=66.4M(老生代达到此值报警) 老生代达到67.15M(92M*0.73)将发生Full GC,所以在老生代大小达到66.4M时也就是WARN报警时将很有可能出现Full GC。
CMSInitiatingOccupancyFraction 设置是有取值范围的超过这个范围的值,按可用范围最大值来算

JVM -XX:CMSInitiatingOccupancyFraction=90 这个参数是有取值范围的相关推荐

  1. 一行命令获取当前JVM所有可设置的参数以及当前默认值

    2019独角兽企业重金招聘Python工程师标准>>> 一行命令获取当前JVM所有可设置的参数以及当前默认值 博客分类: java jvm 一行命令获取当前JVM所有可设置的参数以及 ...

  2. 【参数】REMOTE_LOGIN_PASSWORDFILE参数三种取值及其行为特性分析

    在某些情况下可以使用REMOTE_LOGIN_PASSWORDFILE参数增强系统的安全性,所谓提高安全性就是禁止以SYSDBA或SYSOPER特权用户从客户端登陆到数据库系统中.这是一种牺牲管理便捷 ...

  3. LR参数化,参数化类型:Fille类型--参数分配与取值规律

    1.Select next row:下次取值怎么取 (1)Sequential:按照顺序一行行的取值.每一个虚拟用户都会按照相同的顺序读取 (2)Random:在每次迭代里随机的读取一个,但是在循环中 ...

  4. python函数参数顺序_Python 中的参数深入、取值顺序、内置函数等

    封面图片来源:沙沙野 内容概览动态参数 形参的顺序问题 名称空间与作用域 加载顺序 取值顺序 内置函数 高阶函数 关键字 global 关键字 nonlocal 动态参数前面文章提到,形参有三种:位置 ...

  5. JSF中的h:commandLink如何传递参数 三种取值比较

    声明本人刚学jsf三天 如有不足请指教.... 本人总结了三种取得参数的方法 这是jsf中的代码 <h:commandLink  action="#{}">       ...

  6. 带参数标签的取值方法

    方法一: <html><head> <meta http-equiv="Content-Type" content="text/html; ...

  7. numpy.max中参数axis的取值问题

    np.max(a, axis=None, out=None, keepdims=False) 求序列的最值 最少接收一个参数 axis:默认为列方向,即axis=0 一般为二维数组,用来表示行和列的信 ...

  8. [mybatis]映射文件_参数处理_#取值时指定参数相关规则

    jdbcType通常需要在某种特定的条件下被设置: 在我们数据为null的时候,有些数据库可能不能识别mybatis对null的默认处理.比如Oracle(报错): jdbcType OTHER:无效 ...

  9. java -XX:+PrintFlagsInitial该命令可以查看所有JVM参数启动的初始值

    java -XX:+PrintFlagsInitial 该命令可以查看所有JVM参数启动的初始值 [Global flags]intx ActiveProcessorCount = -1 {produ ...

最新文章

  1. 用看板工具leangoo做人事招聘
  2. 【6】青龙面板系列教程之xdd-plus与nolanjdc的对接
  3. Gartner:大数据投资增长,但计划投资的组织机构却在减少
  4. Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
  5. 为什么使用NoSql及NoSql的优点
  6. sql性能优化之多表联查
  7. C# WinForm中的Label换行方法
  8. php汽车找车位,自动找车位+停车?这样的车5个月后就要交付给用户了!
  9. 架构之美-读书笔记之二
  10. 世界杯来了,移动办公的“世界杯”怎么踢?
  11. mysql版本查询命令
  12. 怎么清理计算机后台程序,怎么清理电脑应用插件-电脑插件清理的方法 - 河东软件园...
  13. Ubuntu 无法复制大文件 卡死
  14. 自定义view画钟表
  15. 蓝桥杯--并查集1 sdutoj 小雷的冰茶几
  16. 广义瑞利商_瑞利商和广义瑞利商
  17. (八)相机对焦功能实现
  18. Java 公历转农历,然后农历减一年(或者几天或者任意天),再把这个日期转成公历...
  19. 5.6.3 分组总计查询
  20. c++动态规划解决一系列数中互不相邻数字之和的最大值

热门文章

  1. 电力泛在物联网与人工智能
  2. 水瓶座性格之分析【节选】
  3. 苹果Mac终端上常用的命令行指令和技巧
  4. MT【311】三角递推数列
  5. 小鼠脑立体定位图谱_脑动脉瘤动物模型
  6. 我们到底是不是产品经理:给互联网、软件业者
  7. 在vs里设置起始页、取消设置的起始页(转)
  8. 7-28 冰岛人 (25 分)
  9. 程序猿的福利“996”
  10. 阻容降压原理和计算公式