[java.lang.OutOfMemoryError:Java堆空间与NetBeans

问题描述 投票:15回答:6

这是我在由NetBeans启动的Tomcat servlet容器的实例中运行Web应用程序时遇到的错误。为了解决这个问题,我什至更改了netbeans.conf中的堆大小,但仍然显示相同的错误。如何防止这种情况发生?

HTTP状态500--------------------------------------------------- ------------------------------类型例外报告信息描述服务器遇到内部错误(),导致服务器无法满足此请求。例外javax.servlet.ServletException:Servlet执行引发异常org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)根本原因java.lang.OutOfMemoryError:Java堆空间note注意在Apache Tomcat / 5.5.9日志中可以找到根本原因的完整堆栈跟踪。
java tomcat netbeans heap out-of-memory
6个回答
30
投票

更改netbeans.conf中的堆大小仅更改NetBeans本身的堆,而不更改通过NetBeans运行的应用程序的堆。

正确的方法是右键单击项目,然后选择“属性”,然后选择“运行”;在那里您可以适当地设置VM选项(例如-Xmx256m)。它应该看起来像这样:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9BY1VqOC5wbmcifQ==” alt =“设置堆大小”>(感谢VonC查找这张照片。)


9
投票

停止Tomcat服务器,设置环境变量CATALINA_OPTS,然后重新启动Tomcat。查看文件tomcat-install/bin/catalina.shcatalina.bat以了解如何使用此变量。例如,

set CATALINA_OPTS="-Xms512m -Xmx512m" (Windows)export CATALINA_OPTS="-Xms512m -Xmx512m" (ksh/bash)setenv CATALINA_OPTS "-Xms512m -Xmx512m" (tcsh/csh)

catalina.batcatallina.sh中,您可能已经注意到CATALINA_OPTS,JAVA_OPTS或两者都可用于指定Tomcat JVM选项。

CATALINA_OPTS和JAVA_OPTS有什么区别?

名称CATALINA_OPTS是特定于Tomcat Servlet容器的,而JAVA_OPTS可以由其他Java应用程序(例如JBoss)使用。由于环境变量由所有应用程序共享,因此我们不希望Tomcat不经意地选择用于其他应用程序的JVM选项。我更喜欢使用CATALINA_OPTS。

如何在JBoss中设置Java堆大小?

停止JBoss服务器,编辑$ JBOSS_HOME / bin / run.conf,然后重新启动JBoss服务器。您可以将JAVA_OPTS的行更改为类似以下内容:

JAVA_OPTS="-server -Xms128m -Xmx128m"

如何在Eclipse中设置Java堆大小?您有2个选项:

  1. 将eclipse-home / eclipse.ini编辑为以下内容,然后重新启动Eclipse。

    -vmargs-Xms64m-Xmx256m

  2. [[最后。 -vmargs之后的所有内容都将被视为JVM选项,并且直接传递给JVM。命令中指定的JVM选项这样行将始终覆盖eclipse.ini中的内容。对于例如,>
  3. eclipse -vmargs -Xms64m -Xmx256m
  4. 如何在NetBeans中设置Java堆大小?

退出NetBeans,编辑文件netbeans-install / etc / netbeans.conf。例如,

netbeans_default_options="-J-Xms512m -J-Xmx512m -J-XX:PermSize=32m -J-XX:MaxPermSize=128m -J-Xverify:none

如何在Apache Ant中设置Java堆大小?

设置环境变量ANT_OPTS。查看文件$ANT_HOME/bin/ant%ANT_HOME%\bin\ant.bat,以了解Ant运行时如何使用此变量。

set ANT_OPTS="-Xms512m -Xmx512m" (Windows)export ANT_OPTS="-Xms512m -Xmx512m" (ksh/bash)setenv ANT_OPTS "-Xms512m -Xmx512m" (tcsh/csh)


7
投票

5
投票

3
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.