簡體   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