-Xmn jvm 选项代表什么

2022-08-31 15:25:42

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

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


答案 1

从这里:

-Xmn:年轻一代的堆的大小

年轻一代代表了所有寿命较短的物体。年轻一代的对象位于堆中的特定位置,垃圾回收器将经常通过该位置。所有新对象都被创建到年轻一代区域(称为“eden”)。当一个物体在超过2-3gc的清洁后仍然“活着”时,那么它将交换有一个“老一代”:他们是“幸存者”。

以及来自IBM的更“官方”消息来源:

-西姆

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


答案 2

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

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

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

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


推荐