当尝试在eclipse中启动并运行flex/java项目时,我使用Eclipse,Tomcat和JRE继续获得"Out of Memory Exception"和"Java Heap Space".
在研究尝试调整内存设置时,我找到了三个地方来调整这些:
的eclipse.ini
窗口>首选项下的JRE设置
Catalina.sh或Catalina.bat
在这些不同的地方设置-xms和-xmx之间有什么区别?这意味着什么?
有没有办法验证这些内存设置是否相应设置?
具有2GB RAM的计算机的最佳-xms和-xmx设置是什么?
还有其他记忆提示吗?
谢谢.
-xms是启动内存(在VM启动时), - xmx是VM的最大内存
eclipse.ini:运行eclipse的VM的内存
jre设置:java程序的内存从eclipse运行
catalina.sh:tomcat服务器的内存
首先,我建议您将问题缩小到哪个组件抛出"Out of Memory Exception".
这可能是:
Eclipse本身(我怀疑)
您在Tomcat下的应用程序
JVM的参数-xms
和-xmx
表示堆的"启动内存"和"最大内存".忘记"开始记忆".这对你现在没有帮助,如果你确定你的应用程序会快速消耗这么多的内存,你应该只改变这个参数.
在生产中,我认为您可以更改的唯一参数是-xmx
Catalina.sh或Catalina.bat文件.但是如果您使用配置的Tomcat调试环境直接从Eclipse测试您的webapp,您只需转到"调试配置">"Apache Tomcat">"参数">"VM参数"并设置-xmx
它.
至于-xmx
2gb 的最佳值,这取决于您的环境和应用程序可能需要的请求数量.我会尝试从500mb到1gb的值.检查操作系统虚拟内存"区域"限制和JVM本身的限制.