如何确定初始堆和最大堆的大小

时间:2013-10-29 05:57:08

标签: java eclipse jvm heap

我想在eclipse indigo中更改初始堆(-xms)和最大堆(-xmx)大小,但我不知道必须为堆分配的正确大小。确定适合使用的应用程序的大小有哪些考虑因素?

2 个答案:

答案 0 :(得分:0)

有几件事需要考虑。

首先 - 你说你要“改变”堆和最大堆的初始大小。所以,问题很简单:你为什么需要它?例如,前段时间我不得不将IntelliJ IDEA的堆设置更改为更高的值,因为它无法处理我的项目。或者你有什么特别的理由来改变堆大小?

Eclipse的堆设置可以位于eclipse.ini文件中。至少在我的Eclipse Juno中,eclipse.ini包含:

-Xms40m
-Xmx512m

因此,堆的初始大小为40 MB,但最大可以调整为512 MB。检查你的eclipse.ini - 数字是一样的吗?

而且,正如我之前所问,你能告诉我,为什么要更改堆设置?

修改

Eclipse的Wiki上关于如何更改heap size in Eclipse的好教程。

答案 1 :(得分:0)

初始堆大小 机器上物理内存的1/64或更大的合理最小值。在J2SE 5.0之前,默认的初始堆大小是合理的最小值,因平台而异。您可以使用-Xms命令行选项覆盖此默认值。

最大堆大小 较小的物理内存的1/4或1GB。在J2SE 5.0之前,默认的最大堆大小为64MB。您可以使用-Xmx命令行选项覆盖此默认值。

你可以增加

  

export _JAVA_OPTIONS =“ - Xmx1g”   java -jar jconsole.jar&   拿起_JAVA_OPTIONS:-Xmx1g

将JAVA_OPTS设置为具有以下内容的系统变量:

JAVA_OPTS =“ - Xms256m -Xmx512m”

然后在命令提示符下运行以下命令:

SET JAVA_OPTS =“ - Xms256m -Xmx512m”