前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何计算Eden区的大小

如何计算Eden区的大小

作者头像
挨踢小子部落阁
发布2020-03-25 21:31:39
1.9K0
发布2020-03-25 21:31:39
举报
文章被收录于专栏:挨踢小子部落阁

https://blog.csdn.net/Decorator2015/article/details/50970999

题目

已知虚拟机的一些参数设置如下: -Xms:1G; -Xmx:2G; -Xmn:500M; -XX:MaxPermSize:64M; -XX:+UseConcMarkSweepGC; -XX:SurvivorRatio=3; 求Eden区域的大小?

分析

这是网易2016年在线笔试题中的一道选择题。 先分析一下里面各个参数的含义: -Xms:1G , 就是说初始堆大小为1G -Xmx:2G , 就是说最大堆大小为2G -Xmn:500M ,就是说年轻代大小是500M(包括一个Eden和两个Survivor) -XX:MaxPermSize:64M , 就是说设置持久代最大值为64M -XX:+UseConcMarkSweepGC , 就是说使用使用CMS内存收集算法 -XX:SurvivorRatio=3 , 就是说Eden区与Survivor区的大小比值为3:1:1

题目中所问的Eden区的大小是指年轻代的大小,直接根据-Xmn:500M和-XX:SurvivorRatio=3可以直接计算得出

500M(3/(3+1+1)) =500M(3/5) =500M*0.6 =300M 所以Eden区域的大小为300M。

小结

1,整个堆包括年轻代,老年代和持久代。其中年轻代又包括一个Eden区和两个Survivor区。 2,年轻代: -XX:NewSize (for 1.3/1.4) , -XX:MaxNewSize (for 1.3/1.4) , -Xmn 3,持久代: -XX:PermSize -XX:MaxPermSize 4,年轻代和老年代的比例: -XX:NewRatio(年轻代和老年代的比值,年轻代多,除去持久代) 当设置了-XX:+UseConcMarkSweepGC后,会使-XX:NewRatio=4失效,此时需要使用-Xmn设置年轻代大小 5,Eden与Survivor的比例 -XX:SurvivorRatio(Eden区与两个Survivor区的比值,Eden区多)

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 挨踢小子 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 分析
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档