-Xmn jvm选项代表什么

时间:2014-05-27 04:05:03

标签: java jvm-arguments

我尝试在互联网上搜索-Xmn选项,但没有成功。

有人可以解释一下这代表什么,我该如何使用它来调整JVM?

3 个答案:

答案 0 :(得分:57)

来自here:

  

-Xmn:年轻一代的堆大小

     

年轻一代代表所有时间都很短的物品。年轻代对象位于堆中的特定位置,垃圾收集器将经常在其中传递。所有新对象都被创建到年轻一代区域(称为#34; eden")。当一个物体存活下来的时候仍然是“活着的”#34;经过超过2-3 gc的清洁后,它将会换掉一个老一代" :他们是"幸存者"。

还有更多"官员"来自IBM的来源:

  

-Xmn

     

使用-Xgcpolicy:gencon时,将新(托儿所)堆的初始大小和最大大小设置为指定值。相当于同时设置-Xmns和-Xmnx。如果设置-Xmns或-Xmnx,则无法设置-Xmn。如果尝试使用-Xmns或-Xmnx设置-Xmn,则VM将无法启动,并返回错误。默认情况下,根据系统的功能在内部选择-Xmn。您可以使用-verbose:sizes选项查找VM当前使用的值。

答案 1 :(得分:8)

来自Oracle的GC性能调优培训文档:

  

-Xmn [size]:年轻代堆空间的大小。

     

强调性能的应用程序倾向于使用-Xmn来调整大小   年轻一代,因为它结合了使用-XX:MaxNewSize和   -XX:NewSize 并且几乎总是将-XX:PermSize和-XX:MaxPermSize显式设置为相同的值。

简而言之,它将新一代 NewSize MaxNewSize 值设置为相同的值。

答案 2 :(得分:4)

  

-Xmn :年轻一代的堆大小   年轻一代代表所有具有短暂时间的物体。年轻代对象位于堆中的特定位置,垃圾收集器将经常在其中传递。所有新对象都被创建到年轻一代(称为“伊甸园”)。当一个物体在超过2-3 gc清洁后仍然“活着”时,它将被交换有一个“老一代”:它们是“幸存者”。

     

良好的规模是33%

Source