[英]How to increase memory size for JVM beyond 1gb
當我嘗試將-Xms
和-Xmx
值設置為大於1gb時,我收到一個錯誤:
VM初始化期間發生錯誤
我的電腦有8GB的RAM。
我需要在內存中保存和操作大量數據。
32位JVM的最大堆大小最多為4GB - 在某些系統中,由於各種技術原因(例如需要連續內存),它的數量較少。 嘗試使用64位版本,假設您使用的是64位計算機。
原因是32位的最大地址數是2 ^ 32,即4GB。 這個理論上的最大值永遠不會被用戶真正訪問,因為JVM需要Klass
文件(代碼的內部表示)和其他東西。
另見這個問題 。
如果您使用的是64位操作系統,那么真正的解決方案是添加-d64以強制它以64位運行,因此分配4GB。
我肯定會建議你去通過文章
除了Ram之外,xmx參數還依賴於os,jvm bit等參數。
還建議你通過統計來確定有多少可用內存。 請參閱http://viralpatel.net/blogs/getting-jvm-heap-size-used-memory-total-memory-using-java-runtime/以確定使用的內存量和可用內存量。
為了獲得最佳利用率,它應該是64位操作系統和64位位vm
在32位版本的Windows上,應用程序具有4千兆字節(GB)的虛擬地址空間。 虛擬地址空間被划分,以便應用程序可以使用2 GB,而另一個2 GB僅可用於系統。請參閱http://msdn.microsoft.com/en-us/library/Aa366521
因此,請確保您有足夠的內存(無論您提到的反對params xms和xmx)與上面提到的程序
恕我直言,這是一個相同的問題,問題略有不同..
如您所見,Java Runtime Environment在Java控制面板中設置。 嘗試在運行時參數列中添加運行時參數,例如-Xmx3072m
。
或許你可以查看這篇文章..
希望它有助於解決問題......
此致,伊萬
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.