繁体   English   中英

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

[英]64-bit java won't allocate more than 2GB of heap memory

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

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

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

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

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

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

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

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

-Xms256M -Xmx8192M

试着这样做:

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

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

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

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

Runtime.getRuntime().maxMemory();

您只需要在eclipse.ini添加-d64即可

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM