异常解决: Tomcat平台出现Java heap space
平台运行过程中,出现如下情况:Java heap spaceview plaincopy
[*]2011-4-22 16:52:39 org.apache.catalina.core.ApplicationDispatcher invoke
[*]严重: Servlet.service() for servlet jsp threw exception
[*]java.lang.OutOfMemoryError: Java heap space
[*]16:52:39,828 ERROR DispatcherUtils:245 - Could not execute action
[*]javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
[*] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:274)
[*] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
[*] at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
[*] at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
[*] at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
[*] at com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:114)
[*] at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:101)
[*] at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:312)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:207)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
[*] at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:233)
[*] at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
[*] at cn.myapps.base.web.filter.OBPMFilterDispatcher.doFilter(OBPMFilterDispatcher.java:43)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at cn.myapps.base.web.filter.AjaxMultiLanguageFilter.doFilter(AjaxMultiLanguageFilter.java:40)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:30)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:125)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
[*] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
[*] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
[*] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[*] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[*] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
[*] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
[*] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
[*] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
[*] at java.lang.Thread.run(Thread.java:619)
[*]Caused by: java.lang.OutOfMemoryError: Java heap space
[*]16:52:39,828 ERROR OBPMFilterDispatcher:48 - URL: /vos2_4/core/role/list.action
[*]javax.servlet.ServletException: Could not execute action
[*] at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:246)
[*] at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
[*] at cn.myapps.base.web.filter.OBPMFilterDispatcher.doFilter(OBPMFilterDispatcher.java:43)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at cn.myapps.base.web.filter.AjaxMultiLanguageFilter.doFilter(AjaxMultiLanguageFilter.java:40)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:30)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:125)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
[*] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
[*] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
[*] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
[*] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
[*] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
[*] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
[*] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
[*] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
[*] at java.lang.Thread.run(Thread.java:619)
[*]Caused by: javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space
[*] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:274)
[*] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
[*] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
[*] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
[*] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
[*] at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
[*] at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
[*] at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
[*] at com.opensymphony.webwork.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:114)
[*] at com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:101)
[*] at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:312)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:207)
[*] at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
[*] at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
[*] ...
[*]Caused by: java.lang.OutOfMemoryError: Java heap space
解决方案:
view plaincopy
[*]windows 下 tomcat 虚拟内存配置
[*]
[*] 在tomcat的bin目录下,找到catalina.bat 文件,打开,在最上面添加这样一句:
[*] set JAVA_OPTS=-Xms256m -Xmx512m
[*]
[*]
[*]
[*] Eclipse中设置tomcat 虚拟内存配置
[*]
[*] Windows --> Preferences-->MyEclipse--->Tomcat-->Tomcate x.x --> JDK 中
[*]
[*] Optional java vm arguments中加入 -Xms256m -Xmx512m
[*]
[*]
[*]
[*] 注意:不同方式的tomcat启动,其虚拟内存取决于当前的配置,比如 tomcat中设置了,而Myeclipse中未设置,则在myeclipse启动tomcat 其虚拟内存 还是未改变,仍然为默认值64M
[*]
[*]
[*]
[*] linux 下tomcat 虚拟内存配置
[*]
[*] 在tomcat的bin目录下,找到catalina.bat 文件,打开,在最上面添加这样一句:
[*] JAVA_OPTS='-Xms256m -Xmx512m'
[*]
[*]
[*]
[*] 表示初始化内存为256MB,可以使用的最大内存为512MB。
参考网址:
http://yushan.iteye.com/blog/345456
测试无效的方法:
解决方法:手动设置Heap size
1.如果是unix/linux操作系统:
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m -XX:MaxNewSize=256m"
页:
[1]