如何在Eclipse中修复OutOfMemoryError [Java堆空间]

时间:2016-03-24 06:26:46

标签: java eclipse elasticsearch heap-memory

我从Eclipse中的java代码访问elasticsearch并将所有数据转储到本地驱动器。大约有1GB的数据。

我的程序工作到300MB的数据但之后我尝试在eclipse中运行我的代码时抛出以下错误:

{
  "error" : "OutOfMemoryError[Java heap space]",
  "status" : 500
}

我在网上看到了在Run>下添加-Xmx2048M的提及为我正在运行的类运行Config。我试过并重新启动eclipse,仍然得到同样的错误。

请指教。感谢。

2 个答案:

答案 0 :(得分:0)

您是否尝试将整个数据存储到内存中? 不要那样做。

尝试使用Java中的流API,一旦流已满,它将把数据转储到二级存储。您可以根据可用的RAM定义最大缓冲区大小。

答案 1 :(得分:0)

看起来错误消息来自Elastic搜索,而不是来自您的Java程序。

使用this page为弹性搜索配置更大的堆。