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
相关文章
相关标签/搜索