15 java heap tomcat netbeans out-of-memory
这是我在NetBeans启动的Tomcat servlet容器实例中运行Web应用程序时遇到的错误.为了解决这个问题,我甚至在netbeans.conf中更改了堆大小,但仍显示相同的错误.我该如何防止这种情况发生?
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
java.lang.OutOfMemoryError: Java heap space
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
小智 9
停止Tomcat服务器,设置环境变量CATALINA_OPTS,然后重新启动Tomcat.查看文件tomcat-install/bin/catalina.sh或catalina.bat如何使用此变量.例如,
set CATALINA_OPTS="-Xms512m -Xmx512m" (Windows)export CATALINA_OPTS="-Xms512m -Xmx512m" (ksh/bash)setenv CATALINA_OPTS "-Xms512m -Xmx512m" (tcsh/csh)
Run Code Online (Sandbox Code Playgroud)
在catalina.bat或中catallina.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"
Run Code Online (Sandbox Code Playgroud)
如何在Eclipse中设置java堆大小?你有2个选择:
编辑eclipse-home/eclipse.ini,如下所示,重新启动Eclipse.
-vmargs-Xms64m-Xmx256m
或者,您可以在最后运行带有其他选项的eclipse命令.-vmargs之后的任何内容都将被视为JVM选项并直接传递给JVM.以这种方式在命令行中指定的JVM选项将始终覆盖eclipse.ini中的那些选项.例如,
eclipse -vmargs -Xms64m -Xmx256m
如何在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
Run Code Online (Sandbox Code Playgroud)
如何在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)
Run Code Online (Sandbox Code Playgroud)
小智 7
如果增加Tomcat服务器的虚拟内存,则可以.
-Xms512m在VM选项字段中写入我猜测增加内存不会解决问题.MonitorFilter在做什么?什么在吞噬所有的记忆?
你最好的办法就是明白这一点.如果这是一个Web应用程序,请查看是否可以关闭该过滤器并在没有它的情况下运行.如果您获得了成功,您就会知道MonitorFilter导致您失败.
| 归档时间: |
|
| 查看次数: |
62007 次 |
| 最近记录: |