内存溢出。tomcat;

miracleliu 2014-09-24 04:37:55


报错信息中就一行在我自己的代码里:InfoServlet.java:204是这个:

request.getRequestDispatcher("syncInfo.jsp").include(request, response);

syncInfo.jsp页面编译出来的java文件中的77行是这个:

pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 20480000, false);



"http-apr-8080-exec-3" daemon prio=5 tid=41 RUNNABLE
at java.lang.OutOfMemoryError.<init>(OutOfMemoryError.java:25)
at org.apache.jasper.runtime.JspWriterImpl.<init>(JspWriterImpl.java:83)
Local Variable: org.apache.jasper.runtime.JspWriterImpl#3
at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:158)
at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:126)
at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:112)
Local Variable: org.apache.jasper.runtime.PageContextImpl#3
at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:65)
Local Variable: org.apache.jasper.runtime.JspFactoryImpl#1
at org.apache.jsp.syncInfo_jsp._jspService(syncInfo_jsp.java:77)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
Local Variable: org.apache.jsp.syncInfo_jsp#1
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
Local Variable: org.apache.jasper.servlet.JspServletWrapper#1
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
Local Variable: java.lang.String#62358
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
Local Variable: org.apache.catalina.loader.WebappClassLoader#3
Local Variable: org.apache.jasper.servlet.JspServlet#3
Local Variable: org.apache.catalina.core.ApplicationFilterChain#1
Local Variable: org.apache.catalina.core.ApplicationHttpResponse#1
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
Local Variable: org.apache.catalina.core.ApplicationDispatcher$State#1
Local Variable: org.apache.catalina.core.ApplicationHttpRequest#1
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543)
Local Variable: org.apache.catalina.core.ApplicationDispatcher#1
at css.ui.InfoServlet.doGet(InfoServlet.java:204)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
Unknown Local Variable
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.tudou.monitor.appfilter.AppFilter.doFilter(AppFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
Local Variable: com.tudou.monitor.appfilter.AppFilter#1
Local Variable: org.apache.catalina.connector.ResponseFacade#67
Local Variable: org.apache.catalina.connector.RequestFacade#67
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
Local Variable: org.apache.catalina.core.ApplicationFilterFactory#1
Local Variable: javax.servlet.DispatcherType#3
Local Variable: org.apache.catalina.core.ApplicationFilterChain#103
Local Variable: org.apache.catalina.core.StandardWrapperValve#29
Local Variable: css.ui.SyncInfoServlet#1
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
Local Variable: org.apache.tomcat.util.buf.MessageBytes#3097
Local Variable: org.apache.catalina.core.StandardContextValve#3
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
Local Variable: org.apache.catalina.realm.LockOutRealm#1
Local Variable: java.lang.String#68901
Local Variable: org.apache.catalina.deploy.LoginConfig#1
Local Variable: java.lang.String#57524
Local Variable: org.apache.catalina.authenticator.NonLoginAuthenticator#3
Local Variable: org.apache.catalina.core.StandardWrapper#39
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
Local Variable: org.apache.catalina.core.StandardHostValve#1
Local Variable: org.apache.catalina.core.StandardContext#3
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
Local Variable: org.apache.catalina.valves.ErrorReportValve#1
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
Local Variable: org.apache.catalina.core.StandardEngineValve#1
Local Variable: org.apache.catalina.core.StandardHost#1
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
Local Variable: org.apache.catalina.connector.Response#114
Local Variable: org.apache.coyote.Request#108
Local Variable: org.apache.catalina.connector.Request#18
Local Variable: org.apache.coyote.Response#94
Local Variable: org.apache.catalina.connector.CoyoteAdapter#1
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
Local Variable: org.apache.coyote.RequestInfo#108
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
Local Variable: org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler#1
Local Variable: org.apache.tomcat.util.net.SocketStatus#5
Local Variable: java.lang.Long#58
Local Variable: org.apache.coyote.http11.Http11AprProcessor#111
Local Variable: org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState#2
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2442)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2431)
Local Variable: org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper#11
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
Local Variable: org.apache.tomcat.util.net.AprEndpoint$SocketProcessor#1
Local Variable: java.util.concurrent.locks.ReentrantLock#223
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
Local Variable: java.util.concurrent.ThreadPoolExecutor$Worker#43
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
Local Variable: org.apache.tomcat.util.threads.TaskThread$WrappingRunnable#5
at java.lang.Thread.run(Thread.java:662)
...全文
269 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangt 2014-09-27
  • 打赏
  • 举报
回复
20480000 这貌似是个很大的数字啊, 先弄小点看看。
qingyuan18 2014-09-27
  • 打赏
  • 举报
回复
tomcat目录下找coredump文件,用heap Anaylyse工具看里面内存树,一般父节点下大量未回收子节点是你内存泄漏点,不一定是你日志里面爆出来的那行代码,那只是压死骆驼的最后一根稻草
miracleliu 2014-09-27
  • 打赏
  • 举报
回复
引用 4 楼 tangt 的回复:
20480000 这貌似是个很大的数字啊, 先弄小点看看。
我也觉得有点大,但这个是jsp编译出来的;从哪里能改?
miracleliu 2014-09-26
  • 打赏
  • 举报
回复
引用 2 楼 showgood119 的回复:
使用监控看下jvm吧
你是指jconsole之类的吗? 线上的应用不能用,线下又无法重现。。
ylovep 2014-09-25
  • 打赏
  • 举报
回复
这些信息貌似看不出什么问题
showgood119 2014-09-25
  • 打赏
  • 举报
回复
使用监控看下jvm吧

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧