MaxNewSize = 17592186044415 MB

14、jmap -heap看到的参数值与实际起作用的参数的关系?

发了几个例子在这里:https://gist.github.com/1363195
其中有个看起来很恐怖的值:

Java代码 收藏代码
MaxNewSize = 17592186044415 MB

这是啥来的?


C++代码 收藏代码
product(uintx, MaxNewSize, max_uintx, \
"Maximum new generation size (in bytes), max_uintx means set " \
"ergonomically")


在HotSpot VM里,intx是跟平台字长一样宽的带符号整型,uintx是其无符号版。
max_uintx是(uintx) -1,也就是说在32位平台上是无符号的0xFFFFFFFF,64位平台上则是0xFFFFFFFFFFFFFFFF。

jmap -heap显示的部分参数是以MB为单位来显示的,而MaxNewSize的单位是byte。我跑例子的平台是64位的,于是算一下 0xFFFFFFFFFFFFFFFF / 1024 / 1024 = 17592186044415 MB 。

参数的说明告诉我们,当MaxNewSize的值等于max_uintx时,意思就是交由ergonomics来自动选择young gen的最大大小。并不是说young gen的最大大小真的有0xFFFFFFFFFFFFFFFF这么大。

http://firefoxmmx.is-programmer.com/posts/32537.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值