64位java不会分配超过2GB的堆内存

时间:2013-04-03 22:37:33

标签: java eclipse heap

我正在从eclipse运行我的程序并使用64位java,但我仍然无法分配超过2GB的内存。我正在运行一些基准,所以我需要大量的内存。

我的eclipse.ini中有这个: -Xmx8g

我希望它能用尽我所有的记忆。 这可能是因为32位版本的eclipse?我不确定我对日食的看法。

我试过发送 -Xmx8g 运行程序时到VMArgs。 我正在运行64位Windows 7和64位JRE。

4 个答案:

答案 0 :(得分:6)

在运行配置屏幕中,转到Arguments选项卡,将-Xmx8g添加到VM参数文本框。

答案 1 :(得分:2)

在尝试了其他所有内容后,看起来VMArguments根本就没有在eclipse中工作。

在eclipse中更改DEFAULT VM args(最后!):

将VM参数插入JRE:当Eclipse打开时,打开Preferences(对于Windows:位于Window菜单项下。对于Mac:位于Eclipse菜单项下),打开Java部分,单击Installed JREs,单击使用的JRE(可能是jre6),单击Edit ...按钮,然后将其插入默认VM参数:

-Xms256M -Xmx8192M

答案 2 :(得分:1)

尝试这样做:

System.getProperty("sun.arch.data.model") 

看看它是否在程序中返回32或64

此外,您需要将-Xmx添加到您的程序的启动参数中,而不仅仅是用于eclipse。

您可以通过执行以下操作验证程序的-Xmx是否正确配置:

Runtime.getRuntime().maxMemory();

答案 3 :(得分:0)

您只需将-d64添加到eclipse.ini

即可