在Eclipse中增加Java堆大小 – 使用虚拟内存

我在Eclipse(Windows)中运行程序,需要相对大的内存。 将-Xmx1500m传递给程序似乎还不够,而Eclipse不允许我分配更大的值。 有了这个配置,我得到了内存不足的exception。 我将虚拟内存大小增加到40GB 。 有没有办法让我的程序可以使用这个内存? 我在C#中轻松完成了这项工作,几乎完全相同。

你需要运行一个64位的虚拟机,以允许超过-Xmx1500m左右

您可以在程序的Run-Settings中指定它,而不需要在eclipse.ini中将其应用于eclipse本身。

但是:给你的java-vm提供的内存不是你系统中真实(物理,免费)内存的好主意,因为GC在运行时会遍历内存的许多区域并导致读取/从磁盘写入内存 – 意味着交换。 而这又将导致非常糟糕的表现。 在这种情况下,您应该考虑消耗内存的内容以及是否有办法在外部管理此数据 – 在磁盘或某些MemoryBuffers上。

ru使用32位JVM还是64位? 使用64位JVM。 我不确定64位的大小限制,但肯定超过32位。

试试这个:java -d64 -Xms512m -Xmx60g YourProgram

它将60gb设置为最大堆大小。

您可以在“运行配置对话框”中配置堆大小。

我认为你需要增加eclipse可用的内存。

修改eclipse.ini文件中的-Xmx选项(在Windows机器中)。

在你解压缩eclipse的地方,找一下修改它的eclipse.ini 在此处输入图像描述

转到你的eclipse.exe文件所在的eclipse根文件夹,你会发现eclipse配置文件(eclipse.ini)打开该文件,你需要进行以下更改 在此处输入图像描述