【发布时间】:2011-01-18 15:39:35
【问题描述】:
嗨, 我想知道是否可以根据我的应用程序增加 JVM 的内存。如果可以,如何增加 JVM 内存? 我怎么知道JVM的大小?
【问题讨论】:
-
在 java 8 中你不必这样做,这取决于你的主内存。
嗨, 我想知道是否可以根据我的应用程序增加 JVM 的内存。如果可以,如何增加 JVM 内存? 我怎么知道JVM的大小?
【问题讨论】:
在启动 JVM 时,可以调整两个参数以满足您的内存需求:
-Xms<size>
指定初始 Java 堆大小和
-Xmx<size>
最大 Java 堆大小。
【讨论】:
ms 代表minimal,不代表初始
如果您使用的是 Eclipse,那么您可以通过在其运行配置的 VM 参数中为特定应用程序指定所需大小来执行此操作,如 EX:-Xms128m -Xmx512m
或者,如果您希望从 Eclipse 运行的所有应用程序具有相同的指定大小,那么您可以在 Eclipse 主目录中的 eclipse.ini 文件中指定它。
要在运行时获取 JVM 的大小,您可以使用 Runtime.totalMemory(),它返回 Java 虚拟机中的内存总量,以字节为单位。
【讨论】:
调用 java 时使用 -Xmx 标志,例如 -Xmx512m 用于 512 megs 的堆大小。如果要让它从一开始就增长,您可能还需要考虑使用 -xms 标志来启动更大的堆。默认大小为 128 兆。
【讨论】:
右键单击项目 -> 运行方式 -> 运行配置..-> 选择参数选项卡 -> 在 VM 参数中,您可以增加 JVM 内存分配。 Java HotSpot 文档将帮助您设置 VM 参数 HERE
我不希望对 eclipse.ini 进行任何更改,因为小错误会导致很多问题。使用 VM Args 更容易玩
【讨论】: