获取“Java堆空间”和“内存不足”时的Eclipse内存设置

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

当试图在eclipse中启动并运行flex / java项目时,我一直使用Eclipse,Tomcat和JRE获取“内存不足”和“Java堆空间”。

在研究尝试调整记忆设置时,我发现有三个地方可以调整它们:

  • eclipse.ini
  • 窗口>首选项下的JRE设置
  • Catalina.sh或Catalina.bat

在这些不同的地方设置-xms和-xmx有什么区别,它是什么意思?

有什么方法可以验证这些内存设置是否相应设置?

具有2GB RAM的计算机的最佳-xms和-xmx设置是什么?

任何其他内存提示?

谢谢。

提问于
用户回答回答于

-xms是启动内存(在VM启动时),-xmx是VM的最大内存

  • eclipse.ini:运行eclipse的虚拟机的内存
  • jre设置:java程序的内存从eclipse运行
  • catalina.sh:你的tomcat服务器的内存
用户回答回答于

首先,我建议你缩小组件抛出“内存异常”的问题。

这可能是:

  1. Eclipse本身(我怀疑)
  2. 您的应用程序Tomcat下

JVM参数-xms-xmx表示堆的“启动内存”和“最大内存”。忘记“开始记忆”。这现在不会帮助你,如果你确定你的应用程序将快速消耗这些内存,你应该只改变这个参数。

在制作中,我认为您可以更改的唯一参数是-xmxCatalina.sh或Catalina.bat文件。但是,如果您正在使用Tomcat配置的调试环境直接从Eclipse测试您的Web应用程序,则可以简单地转到“调试配置”>“Apache Tomcat”>“参数”>“VM参数”并将其设置在-xmx那里。

至于-xmx2gb 的最佳选择,这取决于您的环境以及您的应用可能需要的请求数量。我会尝试从500mb到1GB的值。检查您的操作系统虚拟内存“区域”限制和JVM本身的限制。

扫码关注云+社区