cheng029 发表于 2017-2-4 10:28:13

异常解决: Tomcat平台出现Java heap space

  平台运行过程中,出现如下情况:Java heap space
view 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]
查看完整版本: 异常解决: Tomcat平台出现Java heap space