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

在Eclipse中增加Java堆大小-使用虚拟内存,java,eclipse,virtual-memory,Java,Eclipse,Virtual Memory,我在Eclipse(Windows)中运行一个程序,需要相对较大的内存。将-Xmx1500m传递给程序似乎是不够的,而Eclipse不允许我分配更大的值。有了这个配置,我得到了内存不足异常。 我将虚拟内存大小增加到40GB。难道没有办法让我的程序可以使用这个内存吗?我在C#中轻松地完成了这项工作,几乎完成了相同的工作。我认为您需要增加eclipse可用的内存 在eclipse.ini文件中修改-Xmx选项(在Windows机器中)。我认为您需要增加eclipse可用的内存 在eclipse.in

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

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


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

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


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

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

试试这个: java-d64-Xms512m-Xmx60g程序


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

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

试试这个: java-d64-Xms512m-Xmx60g程序


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

在解压eclipse的地方,查找修改eclipse的
eclipse.ini
中的

您可以在程序的运行设置中指定,而不需要在eclipse.ini中应用它,后者是针对eclipse本身的


但是:给java vm提供比系统上实际(物理、空闲)内存更多的内存不是一个好主意,因为GC在运行时将遍历内存的许多区域,这将导致从磁盘读取/写入内存-这意味着交换。这将再次导致非常糟糕的性能。在这种情况下,您应该考虑是什么在消耗内存,以及是否有办法从外部管理这些数据—在磁盘或一些内存缓冲区上

您需要运行一个64位vm以允许超过-Xmx1500m的内存

您可以在程序的运行设置中指定,而不需要在eclipse.ini中应用它,后者是针对eclipse本身的


但是:给java vm提供比系统上实际(物理、空闲)内存更多的内存不是一个好主意,因为GC在运行时将遍历内存的许多区域,这将导致从磁盘读取/写入内存-这意味着交换。这将再次导致非常糟糕的性能。在这种情况下,您应该考虑是什么在消耗内存,以及是否有办法从外部管理这些数据—在磁盘或一些内存缓冲区上

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

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

转到eclipse根文件夹,eclipse.exe文件保留在那里,您将找到eclipse配置文件(eclipse.ini)打开该文件,您需要进行以下更改

转到eclipse根文件夹,eclipse.exe文件保留在那里,您将找到eclipse配置文件(eclipse.ini)。打开该文件,您需要进行以下更改

您不需要设置程序的参数。您必须在eclipse中为您的程序设置参数。如果您需要超过4GB的内存,则需要64位mashine和64位JVM。您的意思是可以传递-Xmx30000m参数?您不需要为您的程序设置传递参数。您必须在eclipse中为您的程序设置参数。如果您需要超过4GB的内存,则需要64位mashine和64位JVM。您的意思是可以传递-Xmx30000m参数?他正在尝试使用eclipse而不是在命令提示符下运行程序。这无疑是可行的。32位=2^32位=4Gib 64位=2^64位=16EiB单个exabit大于1 GB;)他试图使用eclipse而不是命令提示符运行程序。这无疑是可行的。32位=2^32位=4Gib 64位=2^64位=16EiB单个exabit大于1 GB;)