1

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

4

6 回答 6

3

您需要运行64 位 vm才能允许超过 -Xmx1500m

您可以在程序的运行设置中指定它,并且不需要在 eclipse.ini 中应用它,它是用于 eclipse 本身的。

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

于 2013-02-25T06:51:17.020 回答
2

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

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

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

于 2013-02-25T06:45:22.187 回答
2

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

于 2013-02-25T06:53:33.787 回答
1

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

于 2014-08-19T05:38:51.940 回答
1

我认为您需要增加可供日食使用的内存。

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

于 2013-02-25T06:42:39.957 回答
1

在您解压缩 Eclipse 的地方,eclipse.ini在其中查找修改它 在此处输入图像描述

于 2013-02-25T06:49:40.600 回答