Hibernate - 内存溢出错误 - Java堆大小

3

我目前遇到一个问题,我正在执行一个查询来加载大量记录。第一次执行时成功,但是当我再次执行时,我会遇到Java堆大小不足的内存错误。

我知道可以使用命令行来增加Java堆大小,但那需要一个已编译的jar文件。但我目前处于开发过程中,那么在这种情况下我该如何增加Java堆大小呢?

我使用Eclipse作为我的IDE。

感谢任何回复。


请查看此问题:https://dev59.com/eHNA5IYBdhLWcg3wpfmu。这是您要寻找的内容吗? - joscarsson
小心。也许你没有正确使用Hibernate,而且你正在构建的应用程序很可能会出现内存问题。 - James DW
@james DW,虽然添加vm参数-Xmx1024m可以解决问题,但我仍在考虑您的建议,我认为我在使用Hibernate时也有一些问题,这就是为什么我会出现这个错误的原因! - Jc dev
3个回答

3

不需要编译的jar文件。选择运行-运行配置...-选择您的运行配置-参数选项卡。然后在VM arguments文本框中输入适当的命令行参数:例如-Xmx1024m


Recto,如果这是正确的答案,你应该将其标记为正确答案。 - joscarsson

0
你可以修改位于我们的eclipse目录内的eclipse.ini文件。
在那里,你会找到带有一些值的Xms40m Xmx256m参数,你可以将其增加为Xms256m Xmx1024m。然后检查是否仍然存在内存溢出错误。如果还存在,请尝试稍微增加和检查这些参数。

1
这将修改Eclipse自身的内存参数。它不会改变由Eclipse启动的程序的内存参数。 - JB Nizet
没错。实际上,所有使用Java内存的组件都可以通过在不同位置提供这些参数来进行处理。比如,在启动服务器时使用这些参数。 - arshwarsi

0

显然这不足以回答问题...好吧,让我从那些答案中复制文本 :S

您可以使用环境变量_JAVA_OPTIONS来设置默认堆大小。这将更改所有Java程序的堆大小。像这样:

export _JAVA_OPTIONS="-Xmx1g"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接