Java 内存不足

Java 内存不足,java,eclipse,Java,Eclipse,我有一个ATG灰尘应用程序。为了测试我的ATG应用程序,我通过右键单击Dust App->构建路径->链接源->选择我的ATG应用程序,将我的ATG应用程序链接到Dust应用程序。ATG应用程序是一个大型应用程序。当我尝试清理构建DUSt应用程序时,会出现类似“内存不足异常已发生。请参阅“运行Eclipse”部分…”的异常 在eclipse.log文件中记录了以下异常: // From the Log File !ENTRY org.eclipse.core.jobs 4 2 20

我有一个ATG灰尘应用程序。为了测试我的ATG应用程序,我通过右键单击Dust App->构建路径->链接源->选择我的ATG应用程序,将我的ATG应用程序链接到Dust应用程序。ATG应用程序是一个大型应用程序。当我尝试清理构建DUSt应用程序时,会出现类似“内存不足异常已发生。请参阅“运行Eclipse”部分…”的异常

在eclipse.log文件中记录了以下异常:

// From the Log File   
    !ENTRY org.eclipse.core.jobs 4 2 2014-03-27 06:56:26.549
    !MESSAGE An internal error occurred during: "Launching SampleTest".
    !STACK 0

// Exception
 java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOfRange(Unknown Source)
        at java.lang.String.<init>(Unknown Source)
//从日志文件中
!条目org.eclipse.core.jobs 422014-03-2706:56:26.549
!消息:“启动SampleTest”期间发生内部错误。
!堆栈0
//例外情况
java.lang.OutOfMemoryError:java堆空间
位于java.util.Arrays.copyOfRange(未知源)
位于java.lang.String。(未知源)

只需在eclipse中右键单击您的文件,然后选择as Run as->Run configuration。 它将打开“运行配置”对话框。单击“参数”选项卡

输入此值

                    -Xms1024m -Xmx3072m -XX:MaxPermSize=1024M

在Vm Arguments中,按run键,在eclipse中右键单击您的文件,然后选择as run as->run configuration。 它将打开“运行配置”对话框。单击“参数”选项卡

输入此值

                    -Xms1024m -Xmx3072m -XX:MaxPermSize=1024M

在Vm参数和按run键时,内存不足问题是由于堆处理不当而发生的。您必须优化代码以避免这种情况。作为临时修复,您可以增加堆空间

-XX:MaxPermSize=512m
-Xms512m
-Xmx1024m

内存不足问题是由于堆处理不当而导致的。您必须优化代码以避免这种情况。作为临时修复,您可以增加堆空间

-XX:MaxPermSize=512m
-Xms512m
-Xmx1024m

正如Dileep所说,问题可能是堆空间处理不当

增加治疗可能无法解决问题,但需要一段时间来解决。您可以在
eclipse.ini
中设置参数
-XX:+HeapDumpOnOutOfMemoryError
。这将写出一个heapdump,可以通过以下工具进行分析。在使用更多空间之前,请确保没有内存泄漏


在您的例子中,
java.util.Arrays.copyOfRange
正在复制周围的部分数组。您可以先检查它们的大小。

正如Dileep所说,问题可能是堆空间处理不当

增加治疗可能无法解决问题,但需要一段时间来解决。您可以在
eclipse.ini
中设置参数
-XX:+HeapDumpOnOutOfMemoryError
。这将写出一个heapdump,可以通过以下工具进行分析。在使用更多空间之前,请确保没有内存泄漏


在您的例子中,
java.util.Arrays.copyOfRange
正在复制周围的部分数组。您可以先检查它们的大小。

尝试增加堆大小。你的问题是什么?你只要告诉我们你有什么,而不是你在寻找什么。试着增加你的堆大小。你的问题是什么?你只需告诉我们你拥有什么,而不是你在寻找什么。如果它对你有效,请不要忘记投票给这个答案,这样其他人会很容易找到与堆空间内存不足问题相关的答案。我得到这个错误,初始化VM期间出错对象堆+VM数据的大小超过最大可表示大小您也可以在项目级别设置堆大小,如果您的项目基于maven,也可以在pom.xml中设置。“VM数据超过最大可表示大小”这意味着您为应用程序分配的内存超过了该计算机上的物理RAM。如果它有效,请不要忘记投票选择此答案,以便其他人可以轻松找到与堆空间内存不足问题相关的答案。我收到此错误,初始化VM期间出错对象堆+VM数据的大小超过最大可表示大小您也可以在项目级别设置堆大小,如果您的项目基于maven,也可以在pom.xml中设置。“VM数据超过最大可表示大小”意味着您为应用程序分配的内存比该计算机上的物理RAM多。+1表示“堆处理不当”。单独增加xmx可能只会在ones代码的下一个版本之前有所帮助。+1表示“堆的不当处理”。仅仅增加xmx可能只会在下一版本的代码之前有所帮助。